<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>version5 - Vim Documentation</title>
<meta name="Generator" content="Vim/8.0">
<meta name="plugin-version" content="vim8.0">
<meta name="syntax" content="help">
<meta name="settings" content="no_pre,use_css,expand_tabs">
<link rel="stylesheet" href="style.css" type="text/css" />

<script src="jquery.min.js" type="text/javascript"></script>
<script src="mark-current-page.js" type="text/javascript"></script>
</head>

<body>

<header>

<div class="header">
  <a href="http://vim-jp.org/">vim-jp</a>
  / <a href="http://vim-jp.org/vimdoc-en/">vimdoc-en</a>
  / version5<br />
  <a name="top"></a><h1>version5 - Vim Documentation</h1>
  <a href="index.html">Return to main</a>

  <span class="EnglishJapaneseLink">
    <span class="CurrentLanguage">English</span>
  </span>
</div>
</header>

<nav>
<dl>

<dt>BASIC</dt>
<dd><ul>
<li><a href="quickref.html">quickref</a></li>
<li><a href="sponsor.html">sponsor</a></li>
</ul></dd>

<dt>USER MANUAL</dt>
<dd><ul>
<li><a href="usr_toc.html">usr_toc</a></li>
</ul></dd>

<dt>Getting Started</dt>
<dd><ul>
<li><a href="usr_01.html">usr_01</a></li>
<li><a href="usr_02.html">usr_02</a></li>
<li><a href="usr_03.html">usr_03</a></li>
<li><a href="usr_04.html">usr_04</a></li>
<li><a href="usr_05.html">usr_05</a></li>
<li><a href="usr_06.html">usr_06</a></li>
<li><a href="usr_07.html">usr_07</a></li>
<li><a href="usr_08.html">usr_08</a></li>
<li><a href="usr_09.html">usr_09</a></li>
<li><a href="usr_10.html">usr_10</a></li>
<li><a href="usr_11.html">usr_11</a></li>
<li><a href="usr_12.html">usr_12</a></li>
</ul></dd>

<dt>Editing Effectively</dt>
<dd><ul>
<li><a href="usr_20.html">usr_20</a></li>
<li><a href="usr_21.html">usr_21</a></li>
<li><a href="usr_22.html">usr_22</a></li>
<li><a href="usr_23.html">usr_23</a></li>
<li><a href="usr_24.html">usr_24</a></li>
<li><a href="usr_25.html">usr_25</a></li>
<li><a href="usr_26.html">usr_26</a></li>
<li><a href="usr_27.html">usr_27</a></li>
<li><a href="usr_28.html">usr_28</a></li>
<li><a href="usr_29.html">usr_29</a></li>
<li><a href="usr_30.html">usr_30</a></li>
<li><a href="usr_31.html">usr_31</a></li>
<li><a href="usr_32.html">usr_32</a></li>
</ul></dd>

<dt>Tuning Vim</dt>
<dd><ul>
<li><a href="usr_40.html">usr_40</a></li>
<li><a href="usr_41.html">usr_41</a></li>
<li><a href="usr_42.html">usr_42</a></li>
<li><a href="usr_43.html">usr_43</a></li>
<li><a href="usr_44.html">usr_44</a></li>
<li><a href="usr_45.html">usr_45</a></li>
</ul></dd>

<dt>Making Vim Run</dt>
<dd><ul>
<li><a href="usr_90.html">usr_90</a></li>
</ul></dd>

<dt>General subjects</dt>
<dd><ul>
<li><a href="intro.html">intro</a></li>
<li><a href="index.html">help</a></li>
<li><a href="helphelp.html">helphelp</a></li>
<li><a href="vimindex.html">index</a></li>
<li><a href="tags.html">tags</a></li>
<li><a href="howto.html">howto</a></li>
<li><a href="tips.html">tips</a></li>
<li><a href="message.html">message</a></li>
<li><a href="quotes.html">quotes</a></li>
<li><a href="todo.html">todo</a></li>
<li><a href="debug.html">debug</a></li>
<li><a href="develop.html">develop</a></li>
<li><a href="uganda.html">uganda</a></li>
</ul></dd>

<dt>Basic editing</dt>
<dd><ul>
<li><a href="starting.html">starting</a></li>
<li><a href="editing.html">editing</a></li>
<li><a href="motion.html">motion</a></li>
<li><a href="scroll.html">scroll</a></li>
<li><a href="insert.html">insert</a></li>
<li><a href="change.html">change</a></li>
<li><a href="indent.html">indent</a></li>
<li><a href="undo.html">undo</a></li>
<li><a href="repeat.html">repeat</a></li>
<li><a href="visual.html">visual</a></li>
<li><a href="various.html">various</a></li>
<li><a href="recover.html">recover</a></li>
</ul></dd>

<dt>Advanced editing</dt>
<dd><ul>
<li><a href="cmdline.html">cmdline</a></li>
<li><a href="options.html">options</a></li>
<li><a href="pattern.html">pattern</a></li>
<li><a href="map.html">map</a></li>
<li><a href="tagsrch.html">tagsrch</a></li>
<li><a href="quickfix.html">quickfix</a></li>
<li><a href="windows.html">windows</a></li>
<li><a href="tabpage.html">tabpage</a></li>
<li><a href="syntax.html">syntax</a></li>
<li><a href="spell.html">spell</a></li>
<li><a href="diff.html">diff</a></li>
<li><a href="autocmd.html">autocmd</a></li>
<li><a href="filetype.html">filetype</a></li>
<li><a href="eval.html">eval</a></li>
<li><a href="channel.html">channel</a></li>
<li><a href="fold.html">fold</a></li>
</ul></dd>

<dt>Special issues</dt>
<dd><ul>
<li><a href="print.html">print</a></li>
<li><a href="remote.html">remote</a></li>
<li><a href="term.html">term</a></li>
<li><a href="digraph.html">digraph</a></li>
<li><a href="mbyte.html">mbyte</a></li>
<li><a href="mlang.html">mlang</a></li>
<li><a href="arabic.html">arabic</a></li>
<li><a href="farsi.html">farsi</a></li>
<li><a href="hebrew.html">hebrew</a></li>
<li><a href="russian.html">russian</a></li>
<li><a href="ft_ada.html">ft_ada</a></li>
<li><a href="ft_sql.html">ft_sql</a></li>
<li><a href="hangulin.html">hangulin</a></li>
<li><a href="rileft.html">rileft</a></li>
</ul></dd>

<dt>GUI</dt>
<dd><ul>
<li><a href="gui.html">gui</a></li>
<li><a href="gui_w32.html">gui_w32</a></li>
<li><a href="gui_x11.html">gui_x11</a></li>
</ul></dd>

<dt>Interfaces</dt>
<dd><ul>
<li><a href="if_cscop.html">if_cscop</a></li>
<li><a href="if_lua.html">if_lua</a></li>
<li><a href="if_mzsch.html">if_mzsch</a></li>
<li><a href="if_perl.html">if_perl</a></li>
<li><a href="if_pyth.html">if_pyth</a></li>
<li><a href="if_tcl.html">if_tcl</a></li>
<li><a href="if_ole.html">if_ole</a></li>
<li><a href="if_ruby.html">if_ruby</a></li>
<li><a href="debugger.html">debugger</a></li>
<li><a href="workshop.html">workshop</a></li>
<li><a href="netbeans.html">netbeans</a></li>
<li><a href="sign.html">sign</a></li>
</ul></dd>

<dt>Versions</dt>
<dd><ul>
<li><a href="vi_diff.html">vi_diff</a></li>
<li><a href="version4.html">version4</a></li>
<li><a href="version5.html">version5</a></li>
<li><a href="version6.html">version6</a></li>
<li><a href="version7.html">version7</a></li>
<li><a href="version8.html">version8</a></li>
</ul></dd>

<dt>Remarks about specific systems</dt>
<dd><ul>
<li><a href="os_390.html">os_390</a></li>
<li><a href="os_amiga.html">os_amiga</a></li>
<li><a href="os_beos.html">os_beos</a></li>
<li><a href="os_dos.html">os_dos</a></li>
<li><a href="os_mac.html">os_mac</a></li>
<li><a href="os_mint.html">os_mint</a></li>
<li><a href="os_msdos.html">os_msdos</a></li>
<li><a href="os_os2.html">os_os2</a></li>
<li><a href="os_qnx.html">os_qnx</a></li>
<li><a href="os_risc.html">os_risc</a></li>
<li><a href="os_unix.html">os_unix</a></li>
<li><a href="os_vms.html">os_vms</a></li>
<li><a href="os_win32.html">os_win32</a></li>
</ul></dd>

<dt>Standard plugins</dt>
<dd><ul>
<li><a href="pi_getscript.html">pi_getscript</a></li>
<li><a href="pi_gzip.html">pi_gzip</a></li>
<li><a href="pi_logipat.html">pi_logipat</a></li>
<li><a href="pi_netrw.html">pi_netrw</a></li>
<li><a href="pi_paren.html">pi_paren</a></li>
<li><a href="pi_tar.html">pi_tar</a></li>
<li><a href="pi_vimball.html">pi_vimball</a></li>
<li><a href="pi_zip.html">pi_zip</a></li>
</ul></dd>

<dt>Filetype plugins</dt>
<dd><ul>
<li><a href="pi_spec.html">pi_spec</a></li>
</ul></dd>

<dt>Others</dt>
<dd><ul>
<li><a href="vim_faq.html">vim_faq</a></li>
</ul></dd>

</dl>
</nav>

<article class="Vimdoc VimdocJa">
<div id='vimCodeElement'>
<a class="Constant" href="version5.html" name="version5.txt">version5.txt</a>&nbsp;&nbsp;For&nbsp;<span class="Identifier">Vim version 8.0.</span>&nbsp;&nbsp;Last change: 2016 Feb 27<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Identifier">VIM REFERENCE MANUAL&nbsp;&nbsp;&nbsp;&nbsp;by Bram Moolenaar</span><br>
<br>
Welcome to Vim Version 5.0!<br>
<br>
This document lists the differences between Vim 4.x and Vim 5.0.<br>
Although 5.0 is mentioned here, this is also for version 5.1, 5.2, etc.<br>
See&nbsp;<a class="Identifier" href="vi_diff.html">vi_diff.txt</a>&nbsp;for an overview of differences between Vi and Vim 5.0.<br>
See&nbsp;<a class="Identifier" href="version4.html">version4.txt</a>&nbsp;for differences between Vim 3.0 and Vim 4.0.<br>
<br>
INCOMPATIBLE:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#incompatible-5">incompatible-5</a><br>
<br>
Default value for&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;changed&nbsp;&nbsp;<a class="Identifier" href="version5.html#cp-default">cp-default</a><br>
Text formatting command &quot;Q&quot; changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#Q-command-changed">Q-command-changed</a><br>
Command-line arguments changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#cmdline-changed">cmdline-changed</a><br>
Autocommands are kept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#autocmds-kept">autocmds-kept</a><br>
Use of&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#hidden-changed">hidden-changed</a><br>
Text object commands changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#text-objects-changed">text-objects-changed</a><br>
X-Windows Resources removed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#x-resources">x-resources</a><br>
Use of $VIM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#$VIM-use">$VIM-use</a><br>
Use of $HOME for MS-DOS and Win32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#$HOME-use">$HOME-use</a><br>
Tags file format changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#tags-file-changed">tags-file-changed</a><br>
Options changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#options-changed">options-changed</a><br>
<span class="Special">CTRL-B</span>&nbsp;in Insert mode gone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#i_CTRL-B-gone">i_CTRL-B-gone</a><br>
<br>
NEW FEATURES:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-5">new-5</a><br>
<br>
Syntax highlighting&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-highlighting">new-highlighting</a><br>
Built-in script language&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-script">new-script</a><br>
Perl and Python support&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-perl-python">new-perl-python</a><br>
Win32 GUI version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-win32-GUI">added-win32-GUI</a><br>
VMS version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-VMS">added-VMS</a><br>
BeOS version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-BeOS">added-BeOS</a><br>
Macintosh GUI version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-Mac">added-Mac</a><br>
More Vi compatible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#more-compatible">more-compatible</a><br>
Read input from stdin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#read-stdin">read-stdin</a><br>
Regular expression patterns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-regexp">added-regexp</a><br>
Overloaded tags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#tag-overloaded">tag-overloaded</a><br>
New commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-commands">new-commands</a><br>
New options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-options">added-options</a><br>
New command-line arguments&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-cmdline-args">added-cmdline-args</a><br>
Various additions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-various">added-various</a><br>
<br>
IMPROVEMENTS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#improvements-5">improvements-5</a><br>
<br>
COMPILE TIME CHANGES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#compile-changes-5">compile-changes-5</a><br>
<br>
BUG FIXES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#bug-fixes-5">bug-fixes-5</a><br>
<br>
VERSION 5.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.1">version-5.1</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.1">changed-5.1</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.1">added-5.1</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.1">fixed-5.1</a><br>
<br>
VERSION 5.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.2">version-5.2</a><br>
Long lines editable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#long-lines">long-lines</a><br>
File browser added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#file-browser-5.2">file-browser-5.2</a><br>
Dialogs added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#dialogs-added">dialogs-added</a><br>
Popup menu added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#popup-menu-added">popup-menu-added</a><br>
Select mode added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-Select-mode">new-Select-mode</a><br>
Session files added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-session-files">new-session-files</a><br>
User defined functions and commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-user-defined">new-user-defined</a><br>
New interfaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#interfaces-5.2">interfaces-5.2</a><br>
New ports&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#ports-5.2">ports-5.2</a><br>
Multi-byte support&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-multi-byte">new-multi-byte</a><br>
New functions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-functions-5.2">new-functions-5.2</a><br>
New options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-options-5.2">new-options-5.2</a><br>
New Ex commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-ex-commands-5.2">new-ex-commands-5.2</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.2">changed-5.2</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.2">added-5.2</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.2">fixed-5.2</a><br>
<br>
VERSION 5.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.3">version-5.3</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.3">changed-5.3</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.3">added-5.3</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.3">fixed-5.3</a><br>
<br>
VERSION 5.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.4">version-5.4</a><br>
Runtime directory introduced&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-runtime-dir">new-runtime-dir</a><br>
Filetype introduced&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-filetype-5.4">new-filetype-5.4</a><br>
Vim script line continuation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-line-continuation">new-line-continuation</a><br>
Improved session files&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#improved-sessions">improved-sessions</a><br>
Autocommands improved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#improved-autocmds-5.4">improved-autocmds-5.4</a><br>
Encryption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-encryption">new-encryption</a><br>
GTK GUI port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-GTK-GUI">new-GTK-GUI</a><br>
Menu changes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#menu-changes-5.4">menu-changes-5.4</a><br>
Viminfo improved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#improved-viminfo">improved-viminfo</a><br>
Various new commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-commands-5.4">new-commands-5.4</a><br>
Various new options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-options-5.4">new-options-5.4</a><br>
Vim scripts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#new-script-5.4">new-script-5.4</a><br>
Avoid hit-enter prompt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#avoid-hit-enter">avoid-hit-enter</a><br>
Improved quickfix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#improved-quickfix">improved-quickfix</a><br>
Regular expressions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#regexp-changes-5.4">regexp-changes-5.4</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.4">changed-5.4</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.4">added-5.4</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.4">fixed-5.4</a><br>
<br>
VERSION 5.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.5">version-5.5</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.5">changed-5.5</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.5">added-5.5</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.5">fixed-5.5</a><br>
<br>
VERSION 5.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.6">version-5.6</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.6">changed-5.6</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.6">added-5.6</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.6">fixed-5.6</a><br>
<br>
VERSION 5.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.7">version-5.7</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.7">changed-5.7</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.7">added-5.7</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.7">fixed-5.7</a><br>
<br>
VERSION 5.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#version-5.8">version-5.8</a><br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#changed-5.8">changed-5.8</a><br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#added-5.8">added-5.8</a><br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="version5.html#fixed-5.8">fixed-5.8</a><br>
<br>
<span class="PreProc">==============================================================================</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INCOMPATIBLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#incompatible-5" name="incompatible-5">incompatible-5</a><br>
<br>
Default value for&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#cp-default" name="cp-default">cp-default</a><br>
<span class="PreProc">--------------------------------------</span><br>
<br>
<span class="Identifier">Vim version 5.0</span>&nbsp;tries to be more Vi compatible.&nbsp;&nbsp;This helps people who use Vim<br>
as a drop-in replacement for Vi, but causes some things to be incompatible<br>
with version 4.x.<br>
<br>
In version 4.x the default value for the&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;option was off.&nbsp;&nbsp;Now the<br>
default is on.&nbsp;&nbsp;The first thing you will notice is that the &quot;u&quot; command undoes<br>
itself.&nbsp;&nbsp;Other side effects will be that mappings may work differently or not<br>
work at all.<br>
<br>
Since a lot of people switching from Vim 4.x to 5.0 will find this annoying,<br>
the&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;option is switched off if Vim finds a vimrc file.&nbsp;&nbsp;This is a<br>
bit of magic to make sure that 90% of the Vim users will not be bitten by<br>
this change.<br>
<br>
What does this mean?<br>
- If you prefer to run in&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;mode and don't have a vimrc file, you<br>
&nbsp;&nbsp;don't have to do anything.<br>
- If you prefer to run in&nbsp;<a class="Type" href="options.html#'nocompatible'">'nocompatible'</a>&nbsp;mode and do have a vimrc file, you<br>
&nbsp;&nbsp;don't have to do anything.<br>
- If you prefer to run in&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;mode and do have a vimrc file, you<br>
&nbsp;&nbsp;should put this line first in your vimrc file:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:set compatible</div>
- If you prefer to run in&nbsp;<a class="Type" href="options.html#'nocompatible'">'nocompatible'</a>&nbsp;mode and don't have a vimrc file,<br>
&nbsp;&nbsp;you can do one of the following:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Create an empty vimrc file (e.g.: &quot;~/.vimrc&quot; for Unix).<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Put this command in your .exrc file or $EXINIT:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:set nocompatible</div>
&nbsp;&nbsp;&nbsp; - Start Vim with the &quot;-<span class="Special">N</span>&quot; argument.<br>
<br>
If you are new to Vi and Vim, using&nbsp;<a class="Type" href="options.html#'nocompatible'">'nocompatible'</a>&nbsp;is strongly recommended,<br>
because Vi has a lot of unexpected side effects, which are avoided by this<br>
setting.&nbsp;&nbsp;See&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>.<br>
<br>
If you like some things from&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;and some not, you can tune the<br>
compatibility with&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>.<br>
<br>
When you invoke Vim as &quot;ex&quot; or &quot;gex&quot;, Vim always starts in compatible mode.<br>
<br>
<br>
Text formatting command &quot;Q&quot; changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#Q-command-changed" name="Q-command-changed">Q-command-changed</a><br>
<span class="PreProc">-----------------------------------</span><br>
<br>
The &quot;Q&quot; command formerly formatted lines to the width the&nbsp;<a class="Type" href="options.html#'textwidth'">'textwidth'</a>&nbsp;option<br>
specifies.&nbsp;&nbsp;The command for this is now &quot;gq&quot; (see&nbsp;<a class="Identifier" href="change.html#gq">gq</a>&nbsp;for more info).&nbsp;&nbsp;The<br>
reason for this change is that &quot;Q&quot; is the standard Vi command to enter &quot;Ex&quot;<br>
mode, and Vim now does in fact have an &quot;Ex&quot; mode (see&nbsp;<a class="Identifier" href="intro.html#Q">Q</a>&nbsp;for more info).<br>
<br>
If you still want to use &quot;Q&quot; for formatting, use this mapping:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:noremap Q gq</div>
And if you also want to use the functionality of &quot;Q&quot;:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:noremap gQ Q</div>
<br>
<br>
Command-line arguments changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#cmdline-changed" name="cmdline-changed">cmdline-changed</a><br>
<span class="PreProc">------------------------------</span><br>
<br>
Command-line file-arguments and option-arguments can now be mixed.&nbsp;&nbsp;You can<br>
give options after the file names.&nbsp;&nbsp;Example:<br>
<div class="helpExample">&nbsp;&nbsp; vim main.c -g</div>
<br>
This is not possible when editing a file that starts with a '-'.&nbsp;&nbsp;Use the &quot;--&quot;<br>
argument then&nbsp;<a class="Identifier" href="starting.html#---">---</a>:<br>
<div class="helpExample">&nbsp;&nbsp; vim -g -- -main.c</div>
<br>
&quot;-v&quot; now means to start Ex in Vi mode, use &quot;-R&quot; for read-only mode.<br>
old: &quot;vim -v file&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="starting.html#-v">-v</a><br>
new: &quot;vim -R file&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="starting.html#-R">-R</a><br>
<br>
&quot;-e&quot; now means to start Vi in Ex mode, use &quot;-q&quot; for quickfix.<br>
old: &quot;vim -e errorfile&quot;&nbsp;<a class="Identifier" href="starting.html#-e">-e</a><br>
new: &quot;vim -q errorfile&quot;&nbsp;<a class="Identifier" href="starting.html#-q">-q</a><br>
<br>
&quot;-s&quot; in Ex mode now means to run in silent (batch) mode.&nbsp;<a class="Identifier" href="starting.html#-s-ex">-s-ex</a><br>
<br>
&quot;-x&quot; reserved for crypt, use &quot;-f&quot; to avoid starting a new CLI (Amiga).<br>
old: &quot;vim -x file&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="starting.html#-x">-x</a><br>
new: &quot;vim -f file&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="starting.html#-f">-f</a><br>
<br>
Vim allows up to ten &quot;+cmd&quot; and &quot;-c cmd&quot; arguments.&nbsp;&nbsp;Previously Vim executed<br>
only the last one.<br>
<br>
&quot;-n&quot; now overrides any setting for&nbsp;<a class="Type" href="options.html#'updatecount'">'updatecount'</a>&nbsp;in a vimrc file, but not in<br>
a gvimrc file.<br>
<br>
<br>
Autocommands are kept&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#autocmds-kept" name="autocmds-kept">autocmds-kept</a><br>
<span class="PreProc">---------------------</span><br>
<br>
Before version 5.0, autocommands with the same event, file name pattern, and<br>
command could appear only once.&nbsp;&nbsp;This was fine for simple autocommands (like<br>
setting option values), but for more complicated autocommands, where the same<br>
command might appear twice, this restriction caused problems.&nbsp;&nbsp;Therefore<br>
Vim stores all autocommands and keeps them in the order that they are defined.<br>
<br>
The most obvious side effect of this change is that when you source a vimrc<br>
file twice, the autocommands in it will be defined twice.&nbsp;&nbsp;To avoid this, do<br>
one of these:<br>
<br>
- Remove any autocommands that might potentially defined twice before<br>
&nbsp;&nbsp;defining them.&nbsp;&nbsp;Example:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:au! * *.ext<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:au BufEnter *.ext ...</div>
<br>
- Put the autocommands inside an &quot;:if&quot; command.&nbsp;&nbsp;Example:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if !exists(&quot;did_ext_autocmds&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let did_ext_autocmds = 1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autocmd BufEnter *.ext ...<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif</div>
<br>
- Put your autocommands in a different autocommand group so you can remove<br>
&nbsp;&nbsp;them before defining them&nbsp;<a class="Identifier" href="autocmd.html#:augroup">:augroup</a>:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;augroup uncompress<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;au!<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;au BufReadPost *.gz ...<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;augroup END</div>
<br>
<br>
Use of&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#hidden-changed" name="hidden-changed">hidden-changed</a><br>
<span class="PreProc">-----------------------</span><br>
<br>
In version 4.x, only some commands used the&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;option.&nbsp;&nbsp;Now all commands<br>
uses it whenever a buffer disappears from a window.<br>
<br>
Previously you could do &quot;:buf xxx&quot; in a changed buffer and that buffer would<br>
then become hidden.&nbsp;&nbsp;Now you must set the&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;option for this to work.<br>
<br>
The new behavior is simpler: whether Vim hides buffers no longer depends on<br>
the specific command that you use.<br>
- with&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;not set, you never get hidden buffers.&nbsp;&nbsp;Exceptions are the<br>
&nbsp;&nbsp;&quot;:hide&quot; and &quot;:close!&quot; commands and, in rare cases, where you would otherwise<br>
&nbsp;&nbsp;lose changes to the buffer.<br>
- With&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;set, you almost never unload a buffer.&nbsp;&nbsp;Exceptions are the<br>
&nbsp;&nbsp;&quot;:bunload&quot; or &quot;:bdel&quot; commands.<br>
<br>
&quot;:buffer&quot; now supports a &quot;!&quot;: abandon changes in current buffer.&nbsp;&nbsp;So do<br>
&quot;:bnext&quot;, &quot;:brewind&quot;, etc.<br>
<br>
<br>
Text object commands changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#text-objects-changed" name="text-objects-changed">text-objects-changed</a><br>
<span class="PreProc">----------------------------</span><br>
<br>
Text object commands have new names.&nbsp;&nbsp;This allows more text objects and makes<br>
characters available for other Visual mode commands.&nbsp;&nbsp;Since no more single<br>
characters were available, text objects names now require two characters.<br>
The first one is always 'i' or 'a'.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="PreProc">OLD&nbsp;&nbsp;&nbsp;&nbsp; NEW</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a word&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="motion.html#v_aw">v_aw</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a WORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="motion.html#v_aW">v_aW</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a sentence&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="motion.html#v_as">v_as</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a paragraph&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="motion.html#v_ap">v_ap</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a () block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="motion.html#v_ab">v_ab</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;P&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; aB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a {} block&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="motion.html#v_aB">v_aB</a><br>
<br>
There is another set of text objects that starts with &quot;i&quot;, for &quot;inner&quot;.&nbsp;&nbsp;These<br>
select the same objects, but exclude white space.<br>
<br>
<br>
X-Windows Resources removed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#x-resources" name="x-resources">x-resources</a><br>
<span class="PreProc">--------------------------</span><br>
<br>
Vim no longer supports the following X resources:<br>
- boldColor<br>
- italicColor<br>
- underlineColor<br>
- cursorColor<br>
<br>
Vim now uses highlight groups to set colors.&nbsp;&nbsp;This avoids the confusion of<br>
using a bold Font, which would imply a certain color.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="syntax.html#:highlight">:highlight</a>&nbsp;and<br>
<a class="Identifier" href="gui_x11.html#gui-resources">gui-resources</a>.<br>
<br>
<br>
Use of $VIM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#$VIM-use" name="$VIM-use">$VIM-use</a><br>
<span class="PreProc">-----------</span><br>
<br>
Vim now uses the VIM environment variable to find all Vim system files.&nbsp;&nbsp;This<br>
includes the global vimrc, gvimrc, and menu.vim files and all on-line help<br>
and syntax files.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="starting.html#$VIM">$VIM</a>.&nbsp;&nbsp;Starting with version 5.4,&nbsp;<a class="Identifier" href="starting.html#$VIMRUNTIME">$VIMRUNTIME</a>&nbsp;can<br>
also be used.<br>
For Unix, Vim sets a default value for $VIM when doing &quot;make install&quot;.<br>
When $VIM is not set, its default value is the directory from&nbsp;<a class="Type" href="options.html#'helpfile'">'helpfile'</a>,<br>
excluding &quot;/doc/help.txt&quot;.<br>
<br>
<br>
Use of $HOME for MS-DOS and Win32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#$HOME-use" name="$HOME-use">$HOME-use</a><br>
<span class="PreProc">---------------------------------</span><br>
<br>
The MS-DOS and Win32 versions of Vim now first check $HOME when searching for<br>
a vimrc or exrc file and for reading/storing the viminfo file.&nbsp;&nbsp;Previously Vim<br>
used $VIM for these systems, but this causes trouble on a system with several<br>
users.&nbsp;&nbsp;Now Vim uses $VIM only when $HOME is not set or the file is not found<br>
in $HOME.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="starting.html#_vimrc">_vimrc</a>.<br>
<br>
<br>
Tags file format changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#tags-file-changed" name="tags-file-changed">tags-file-changed</a><br>
<span class="PreProc">------------------------</span><br>
<br>
Only tabs are allowed to separate fields in a tags file.&nbsp;&nbsp;This allows for<br>
spaces in a file name and is still Vi compatible.&nbsp;&nbsp;In previous versions of<br>
Vim, any white space was allowed to separate the fields.&nbsp;&nbsp;If you have a file<br>
which doesn't use a single tab between fields, edit the tags file and execute<br>
this command:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:%s/\(\S*\)\s\+\(\S*\)\s\+\(.*\)/\1\t\2\t\3/</div>
<br>
<br>
Options changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#options-changed" name="options-changed">options-changed</a><br>
<span class="PreProc">---------------</span><br>
<br>
The default value of&nbsp;<a class="Type" href="options.html#'errorfile'">'errorfile'</a>&nbsp;has changed from &quot;errors.vim&quot; to &quot;errors.err&quot;.<br>
The reason is that only Vim scripts should have the &quot;.vim&quot; extensions.<br>
<br>
The &quot;:make&quot; command no longer uses the&nbsp;<a class="Type" href="options.html#'errorfile'">'errorfile'</a>&nbsp;option.&nbsp;&nbsp;This prevents the<br>
output of the &quot;:make&quot; command from overwriting a manually saved error file.<br>
&quot;:make&quot; uses the&nbsp;<a class="Type" href="options.html#'makeef'">'makeef'</a>&nbsp;option instead.&nbsp;&nbsp;This also allows for generating a<br>
unique name, to prevent concurrently running &quot;:make&quot; commands from overwriting<br>
each other's files.<br>
<br>
With&nbsp;<a class="Type" href="options.html#'insertmode'">'insertmode'</a>&nbsp;set, a few more things change:<br>
-&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;in Normal mode goes to Insert mode.<br>
-&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;in Insert mode doesn't leave Insert mode.<br>
- When doing &quot;:set im&quot;, go to Insert mode immediately.<br>
<br>
Vim considers a buffer to be changed when the&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;(formerly the<br>
<a class="Type" href="options.html#'textmode'">'textmode'</a>&nbsp;option) is different from the buffer's initial format.<br>
<br>
<br>
<span class="Special">CTRL-B</span>&nbsp;in Insert mode gone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#i_CTRL-B-gone" name="i_CTRL-B-gone">i_CTRL-B-gone</a><br>
<span class="PreProc">--------------------------</span><br>
<br>
When Vim was compiled with the&nbsp;<a class="Identifier" href="various.html#+rightleft">+rightleft</a>&nbsp;feature, you could use&nbsp;<span class="Special">CTRL-B</span>&nbsp;to<br>
toggle the&nbsp;<a class="Type" href="options.html#'revins'">'revins'</a>&nbsp;option.&nbsp;&nbsp;Unfortunately, some people hit the 'B' key<br>
accidentally when trying to type&nbsp;<span class="Special">CTRL-V</span>&nbsp;or&nbsp;<span class="Special">CTRL-N</span>&nbsp;and then didn't know how to<br>
undo this.&nbsp;&nbsp;Since toggling the&nbsp;<a class="Type" href="options.html#'revins'">'revins'</a>&nbsp;option can easily be done with the<br>
mapping below, this use of the&nbsp;<span class="Special">CTRL-B</span>&nbsp;key is disabled.&nbsp;&nbsp;You can still use the<br>
<span class="Special">CTRL-_</span>&nbsp;key for this&nbsp;<a class="Identifier" href="insert.html#i_CTRL-_">i_CTRL-_</a>.<br>
<div class="helpExample">&nbsp;&nbsp; :imap &lt;C-B&gt; &lt;C-O&gt;:set revins!&lt;CR&gt;</div>
<br>
<span class="PreProc">==============================================================================</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NEW FEATURES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-5" name="new-5">new-5</a><br>
<br>
Syntax highlighting&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-highlighting" name="new-highlighting">new-highlighting</a><br>
<span class="PreProc">-------------------</span><br>
<br>
Vim now has a very flexible way to highlighting just about any type of file.<br>
See&nbsp;<a class="Identifier" href="syntax.html#syntax">syntax</a>.&nbsp;&nbsp;Summary:<br>
<div class="helpExample">&nbsp;&nbsp; :syntax on</div>
<br>
Colors and attributes can be set for the syntax highlighting, and also for<br>
other highlighted items with the ':' flag in the&nbsp;<a class="Type" href="options.html#'highlight'">'highlight'</a>&nbsp;option.&nbsp;&nbsp;All<br>
highlighted items are assigned a highlight group which specifies their<br>
highlighting.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="syntax.html#:highlight">:highlight</a>.&nbsp;&nbsp;The default colors have been improved.<br>
<br>
You can use the &quot;Normal&quot; group to set the default fore/background colors for a<br>
color terminal.&nbsp;&nbsp;For the GUI, you can use this group to specify the font, too.<br>
<br>
The &quot;2html.vim&quot; script can be used to convert any file that has syntax<br>
highlighting to HTML.&nbsp;&nbsp;The colors will be exactly the same as how you see them<br>
in Vim.&nbsp;&nbsp;With a HTML viewer you can also print the file with colors.<br>
<br>
<br>
Built-in script language&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-script" name="new-script">new-script</a><br>
<span class="PreProc">------------------------</span><br>
<br>
A few extra commands and an expression evaluator enable you to write simple<br>
but powerful scripts.&nbsp;&nbsp;Commands include &quot;:if&quot; and &quot;:while&quot;.&nbsp;&nbsp;Expressions can<br>
manipulate numbers and strings.&nbsp;&nbsp;You can use the '=' register to insert<br>
directly the result of an expression.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="eval.html#expression">expression</a>.<br>
<br>
<br>
Perl and Python support&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-perl-python" name="new-perl-python">new-perl-python</a><br>
<span class="PreProc">-----------------------</span><br>
<br>
Vim can call Perl commands with &quot;:perldo&quot;, &quot;:perl&quot;, etc.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="if_perl.html#perl">perl</a>.<br>
Patches made by Sven Verdoolaege and Matt Gerassimoff.<br>
<br>
Vim can call Python commands with &quot;:python&quot; and &quot;:pyfile&quot;.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="if_pyth.html#python">python</a>.<br>
<br>
Both of these are only available when enabled at compile time.<br>
<br>
<br>
Win32 GUI version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-win32-GUI" name="added-win32-GUI">added-win32-GUI</a><br>
<span class="PreProc">-----------------</span><br>
<br>
The GUI has been ported to MS Windows 95 and NT.&nbsp;&nbsp;All the features of the X11<br>
GUI are available to Windows users now.&nbsp;&nbsp;<a class="Identifier" href="gui_w32.html#gui-w32">gui-w32</a><br>
This also fixes problems with running the Win32 console version under Windows<br>
95, where console support has always been bad.<br>
There is also a version that supports OLE automation interface.&nbsp;&nbsp;<a class="Identifier" href="if_ole.html">if_ole.txt</a><br>
Vim can be integrated with Microsoft Developer Studio using the VisVim DLL.<br>
It is possible to produce a DLL version of gvim with Borland C++ (Aaron).<br>
<br>
<br>
VMS version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-VMS" name="added-VMS">added-VMS</a><br>
<span class="PreProc">-----------</span><br>
<br>
Vim can now also be used on VMS systems.&nbsp;&nbsp;Port done by Henk Elbers.<br>
This has not been tested much, but it should work.<br>
Sorry, no documentation!<br>
<br>
<br>
BeOS version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-BeOS" name="added-BeOS">added-BeOS</a><br>
<span class="PreProc">------------</span><br>
<br>
Vim can be used on BeOS systems (including the BeBox).&nbsp;&nbsp;(Olaf Seibert)<br>
See&nbsp;<a class="Identifier" href="os_beos.html">os_beos.txt</a>.<br>
<br>
<br>
Macintosh GUI version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-Mac" name="added-Mac">added-Mac</a><br>
<span class="PreProc">---------------------</span><br>
<br>
Vim can now be used on the Macintosh.&nbsp;&nbsp;(Dany St-Amant)<br>
It has not been tested much yet, be careful!<br>
See&nbsp;<a class="Identifier" href="os_mac.html">os_mac.txt</a>.<br>
<br>
<br>
More Vi compatible&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#more-compatible" name="more-compatible">more-compatible</a><br>
<span class="PreProc">------------------</span><br>
<br>
There is now a real Ex mode.&nbsp;&nbsp;Started with the &quot;Q&quot; command, or by calling the<br>
executable &quot;ex&quot; or &quot;gex&quot;.&nbsp;&nbsp;<a class="Identifier" href="intro.html#Ex-mode">Ex-mode</a><br>
<br>
Always allow multi-level undo, also in Vi compatible mode.&nbsp;&nbsp;When the 'u' flag<br>
in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;is included,&nbsp;<span class="Special">CTRL-R</span>&nbsp;is used for repeating the undo or redo<br>
(like &quot;.&quot; in Nvi).<br>
<br>
<br>
Read input from stdin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#read-stdin" name="read-stdin">read-stdin</a><br>
<span class="PreProc">---------------------</span><br>
<br>
When using the &quot;-&quot; command-line argument, Vim reads its text input from stdin.<br>
This can be used for putting Vim at the end of a pipe:<br>
<div class="helpExample">&nbsp;&nbsp; grep &quot;^a.*&quot; *.c | vim -</div>
See&nbsp;<a class="Identifier" href="starting.html#--">--</a>.<br>
<br>
<br>
Regular expression patterns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-regexp" name="added-regexp">added-regexp</a><br>
<span class="PreProc">---------------------------</span><br>
<br>
Added specifying a range for the number of matches of an atom: &quot;\<span class="Special">{a,b}</span>&quot;.&nbsp;<a class="Identifier" href="pattern.html#/\{">/\{</a><br>
Added the &quot;shortest match&quot; regexp &quot;\<span class="Special">{-}</span>&quot; (Webb).<br>
Added &quot;\s&quot;, matches a white character.&nbsp;&nbsp;Can replace &quot;[ \t]&quot;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="pattern.html#/\s">/\s</a><br>
Added &quot;\S&quot;, matches a non-white character.&nbsp;&nbsp;Can replace &quot;[^ \t]&quot;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="pattern.html#/\S">/\S</a><br>
<br>
<br>
Overloaded tags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#tag-overloaded" name="tag-overloaded">tag-overloaded</a><br>
<span class="PreProc">---------------</span><br>
<br>
When using a language like C++, there can be several tags for the same<br>
tagname.&nbsp;&nbsp;Commands have been added to be able to jump to any of these<br>
overloaded tags:<br>
<a class="Identifier" href="tagsrch.html#:tselect">:tselect</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List matching tags, and jump to one of them.<br>
<a class="Identifier" href="tagsrch.html#:stselect">:stselect</a>&nbsp;&nbsp;&nbsp;&nbsp; Idem, and split window.<br>
<a class="Identifier" href="tagsrch.html#g_CTRL-]">g_CTRL-]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do &quot;:tselect&quot; with the word under the cursor.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After &quot;:ta&nbsp;<span class="Special">{tagname}</span>&quot; with multiple matches:<br>
<a class="Identifier" href="tagsrch.html#:tnext">:tnext</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Go to next matching tag.<br>
<a class="Identifier" href="tagsrch.html#:tprevious">:tprevious</a>&nbsp;&nbsp;&nbsp;&nbsp;Go to previous matching tag.<br>
<a class="Identifier" href="tagsrch.html#:trewind">:trewind</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Go to first matching tag.<br>
<a class="Identifier" href="tagsrch.html#:tlast">:tlast</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Go to last matching tag.<br>
<br>
The &quot;:tag&quot; command now also accepts wildcards.&nbsp;&nbsp;When doing command-line<br>
completion on tags, case-insensitive matching is also available (at the end).<br>
<br>
<br>
New commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-commands" name="new-commands">new-commands</a><br>
<span class="PreProc">------------</span><br>
<br>
<a class="Identifier" href="gui.html#:amenu">:amenu</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Define menus for all modes, inserting a&nbsp;<span class="Special">CTRL-O</span>&nbsp;for Insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode, ESC for Visual and&nbsp;<span class="Special">CTRL-C</span>&nbsp;for Cmdline mode.&nbsp;&nbsp;&quot;amenu&quot; is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used for the default menus and the Syntax menu.<br>
<br>
<a class="Identifier" href="autocmd.html#:augroup">:augroup</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set group to be used for following autocommands.&nbsp;&nbsp;Allows the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;grouping of autocommands to enable deletion of a specific<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group.<br>
<br>
<a class="Identifier" href="quickfix.html#:crewind">:crewind</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Go to first error.<br>
<a class="Identifier" href="quickfix.html#:clast">:clast</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Go to last error.<br>
<br>
<a class="Identifier" href="autocmd.html#:doautoall">:doautoall</a>&nbsp;&nbsp;&nbsp;&nbsp;Execute autocommands for all loaded buffers.<br>
<br>
<a class="Identifier" href="eval.html#:echo">:echo</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Echo its argument, which is an expression.&nbsp;&nbsp;Can be used to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display messages which include variables.<br>
<br>
<a class="Identifier" href="eval.html#:execute">:execute</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute its argument, which is an expression.&nbsp;&nbsp;Can be used to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;built up an Ex command with anything.<br>
<br>
<a class="Identifier" href="windows.html#:hide">:hide</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Works like &quot;:close&quot;.<br>
<br>
<a class="Identifier" href="eval.html#:if">:if</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conditional execution, for built-in script language.<br>
<br>
<a class="Identifier" href="starting.html#:intro">:intro</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Show introductory message.&nbsp;&nbsp;This is always executed when Vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is started without file arguments.<br>
<br>
<a class="Identifier" href="eval.html#:let">:let</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assign a value to an internal variable.<br>
<br>
<a class="Identifier" href="map.html#:omap">:omap</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map only in operator-pending mode.&nbsp;&nbsp;Makes it possible to map<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-object commands.<br>
<br>
<a class="Identifier" href="various.html#:redir">:redir</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Redirect output of messages to a file.<br>
<br>
<a class="Identifier" href="editing.html#:update">:update</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write when buffer has changed.<br>
<br>
<a class="Identifier" href="eval.html#:while">:while</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While-loop for built-in script language.<br>
<br>
Visual mode:<br>
<a class="Identifier" href="visual.html#v_O">v_O</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;O&quot; in Visual block mode, moves the cursor to the other corner<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;horizontally.<br>
<a class="Identifier" href="change.html#v_D">v_D</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;D&quot; in Visual block mode deletes till end of line.<br>
<br>
Insert mode:<br>
<a class="Identifier" href="insert.html#i_CTRL-]">i_CTRL-]</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggers abbreviation, without inserting any character.<br>
<br>
<br>
New options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-options" name="added-options">added-options</a><br>
<span class="PreProc">-----------</span><br>
<br>
<a class="Type" href="options.html#'background'">'background'</a>&nbsp;&nbsp;&nbsp;&nbsp;Used for selecting highlight color defaults.&nbsp;&nbsp;Also used in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;syntax.vim&quot; for selecting the syntax colors.&nbsp;&nbsp;Often set<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;automatically, depending on the terminal used.<br>
<br>
<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies how Insert mode completion works.<br>
<br>
<a class="Type" href="options.html#'eventignore'">'eventignore'</a>&nbsp;&nbsp; Makes it possible to ignore autocommands temporarily.<br>
<br>
<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;&nbsp;&nbsp;&nbsp;Current file format.&nbsp;&nbsp;Replaces&nbsp;<a class="Type" href="options.html#'textmode'">'textmode'</a>.<br>
<a class="Type" href="options.html#'fileformats'">'fileformats'</a>&nbsp;&nbsp; Possible file formats.&nbsp;&nbsp;Replaces&nbsp;<a class="Type" href="options.html#'textauto'">'textauto'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New is that this also supports Macintosh format: A single&nbsp;<span class="Special">&lt;CR&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;separates lines.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default for&nbsp;<a class="Type" href="options.html#'fileformats'">'fileformats'</a>&nbsp;for MS-DOS, Win32 and OS/2 is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;dos,unix&quot;, also when&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;set.&nbsp;&nbsp;Unix type files<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;didn't work anyway when&nbsp;<a class="Type" href="options.html#'fileformats'">'fileformats'</a>&nbsp;was empty.<br>
<br>
<a class="Type" href="options.html#'guicursor'">'guicursor'</a>&nbsp;&nbsp;&nbsp;&nbsp; Set the cursor shape and blinking in various modes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default is to adjust the cursor for Insert and Replace mode,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and when an operator is pending.&nbsp;&nbsp;Blinking is default on.<br>
<br>
<a class="Type" href="options.html#'fkmap'">'fkmap'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Farsi key mapping.<br>
<br>
<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Highlight all matches with the last used search pattern.<br>
<br>
<a class="Type" href="options.html#'hkmapp'">'hkmapp'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Phonetic Hebrew mapping. (Ilya Dogolazky)<br>
<br>
<a class="Type" href="options.html#'iconstring'">'iconstring'</a>&nbsp;&nbsp;&nbsp;&nbsp;Define the name of the icon, when not empty.&nbsp;&nbsp;(Version 5.2: the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string is used literally, a newline can be used to make two<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines.)<br>
<br>
<a class="Type" href="options.html#'lazyredraw'">'lazyredraw'</a>&nbsp;&nbsp;&nbsp;&nbsp;Don't redraw the screen while executing macros, registers or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;other not typed commands.<br>
<br>
<a class="Type" href="options.html#'makeef'">'makeef'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Errorfile to be used for &quot;:make&quot;.&nbsp;&nbsp;&quot;##&quot; is replaced with a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unique number.&nbsp;&nbsp;Avoids that two Vim sessions overwrite each<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;others errorfile.&nbsp;&nbsp;The Unix default is &quot;/tmp/vim##.err&quot;; for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Amiga &quot;t:vim##.Err, for others &quot;vim##.err&quot;.<br>
<br>
<a class="Type" href="options.html#'matchtime'">'matchtime'</a>&nbsp;&nbsp;&nbsp;&nbsp; 1/10s of a second to show a matching paren, when&nbsp;<a class="Type" href="options.html#'showmatch'">'showmatch'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is set.&nbsp;&nbsp;Like Nvi.<br>
<br>
<a class="Type" href="options.html#'mousehide'">'mousehide'</a>&nbsp;&nbsp;&nbsp;&nbsp; Hide mouse pointer in GUI when typing text.<br>
<br>
<a class="Type" href="options.html#'nrformats'">'nrformats'</a>&nbsp;&nbsp;&nbsp;&nbsp; Defines what bases Vim will consider for numbers when using<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;<span class="Special">CTRL-A</span>&nbsp;and&nbsp;<span class="Special">CTRL-X</span>&nbsp;commands.&nbsp;&nbsp;Default: &quot;hex,octal&quot;.<br>
<br>
<a class="Type" href="options.html#'shellxquote'">'shellxquote'</a>&nbsp;&nbsp; Add extra quotes around the whole shell command, including<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redirection.<br>
<br>
<a class="Type" href="options.html#'softtabstop'">'softtabstop'</a>&nbsp;&nbsp; Make typing behave like tabstop is set at this value, without<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changing the value of&nbsp;<a class="Type" href="options.html#'tabstop'">'tabstop'</a>.&nbsp;&nbsp;Makes it more easy to keep<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'ts'">'ts'</a>&nbsp;at 8, while still getting four spaces for a&nbsp;<span class="Special">&lt;Tab&gt;</span>.<br>
<br>
<a class="Type" href="options.html#'titlestring'">'titlestring'</a>&nbsp;&nbsp; String for the window title, when not empty.&nbsp;&nbsp;(Version 5.2:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this string is used literally, a newline can be used to make<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;two lines.)<br>
<br>
<a class="Type" href="options.html#'verbose'">'verbose'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Level of verbosity.&nbsp;&nbsp;Makes it possible to show which .vimrc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.exrc, .viminfo files etc. are used for initializing.&nbsp;&nbsp;Also<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to show autocommands that are being executed.&nbsp;&nbsp;Can also be set<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;by using the &quot;-V&quot; command-line argument.<br>
<br>
<br>
New command-line arguments&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-cmdline-args" name="added-cmdline-args">added-cmdline-args</a><br>
<span class="PreProc">--------------------------</span><br>
<br>
<a class="Identifier" href="starting.html#-U">-U</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the gvimrc file to be used.&nbsp;&nbsp;Like &quot;-u&quot; for the vimrc.<br>
<br>
<a class="Identifier" href="starting.html#-V">-V</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the&nbsp;<a class="Type" href="options.html#'verbose'">'verbose'</a>&nbsp;option.&nbsp;&nbsp;E.g. &quot;vim -V10&quot;.<br>
<br>
<a class="Identifier" href="starting.html#-N">-N</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start in non-compatible mode.<br>
<br>
<a class="Identifier" href="starting.html#-C">-C</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start in compatible mode.<br>
<br>
<a class="Identifier" href="starting.html#-Z">-Z</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start in restricted mode, disallow shell commands.&nbsp;&nbsp;Can also<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be done by calling the executable &quot;rvim&quot;.<br>
<br>
<a class="Identifier" href="starting.html#-h">-h</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Show usage information and exit.<br>
<br>
<br>
Various additions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-various" name="added-various">added-various</a><br>
<span class="PreProc">-----------------</span><br>
<br>
Added support for SNiFF+ connection (submitted by Toni Leherbauer).&nbsp;&nbsp;Vim can<br>
be used as an editor for SNiFF.&nbsp;&nbsp;No documentation available...<br>
<br>
For producing a bug report, the bugreport.vim script has been included.<br>
Can be used with &quot;:so $VIMRUNTIME/bugreport.vim&quot;, which creates the file<br>
&quot;bugreport.txt&quot; in the current directory.&nbsp;<a class="Identifier" href="intro.html#bugs">bugs</a><br>
<br>
Added range to &quot;:normal&quot; command.&nbsp;&nbsp;Now you can repeat the same command for<br>
each line in the range.&nbsp;&nbsp;<a class="Identifier" href="various.html#:normal-range">:normal-range</a><br>
<br>
Included support for the Farsi language (Shiran).&nbsp;&nbsp;Only when enabled at<br>
compile time.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="farsi.html#farsi">farsi</a>.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IMPROVEMENTS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#improvements-5" name="improvements-5">improvements-5</a><br>
<br>
Performance:<br>
- When&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>&nbsp;was set, mappings would execute much more slowly because the<br>
&nbsp;&nbsp;output would be flushed very often.&nbsp;&nbsp;Helps a lot when executing the &quot;life&quot;<br>
&nbsp;&nbsp;macros with&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>&nbsp;set.<br>
- Included patches for binary searching in tags file (David O'Neill).<br>
&nbsp;&nbsp;Can be disabled by resetting the&nbsp;<a class="Type" href="options.html#'tagbsearch'">'tagbsearch'</a>&nbsp;option.<br>
- Don't update the ruler when repeating insert (slowed it down a lot).<br>
- For Unix, file name expansion is now done internally instead of starting a<br>
&nbsp;&nbsp;shell for it.<br>
- Expand environment variables with expand_env(), instead of calling the<br>
&nbsp;&nbsp;shell.&nbsp;&nbsp;Makes &quot;:so $VIMRUNTIME/syntax/syntax.vim&quot; a LOT faster.<br>
- Reduced output for cursor positioning: Use CR-LF for moving to first few<br>
&nbsp;&nbsp;columns in next few lines;&nbsp;&nbsp;Don't output CR twice when using termios.<br>
- Optimized cursor positioning.&nbsp;&nbsp;Use CR, BS and NL when it's shorter than<br>
&nbsp;&nbsp;absolute cursor positioning.<br>
- Disable redrawing while repeating insert &quot;1000ii<span class="Special">&lt;Esc&gt;</span>&quot;.<br>
- Made &quot;d$&quot; or &quot;D&quot; for long lines a lot faster (delete all characters at once,<br>
&nbsp;&nbsp;instead of one by one).<br>
- Access option table by first letter, instead of searching from start.<br>
- Made setting special highlighting attributes a lot faster by using<br>
&nbsp;&nbsp;highlight_attr[], instead of searching in the&nbsp;<a class="Type" href="options.html#'highlight'">'highlight'</a>&nbsp;string.<br>
- Don't show the mode when redrawing is disabled.<br>
- When setting an option, only redraw the screen when required.<br>
- Improved performance of Ex commands by using a lookup table for the first<br>
&nbsp;&nbsp;character.<br>
<br>
Options:<br>
<a class="Type" href="options.html#'cinoptions'">'cinoptions'</a>&nbsp;&nbsp;&nbsp;&nbsp;Added 'g' flag, for C++ scope declarations.<br>
<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;&nbsp;&nbsp;&nbsp; Added 'E' flag: Disallow yanking, deleting, etc. empty text<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;area.&nbsp;&nbsp;Default is to allow empty yanks.&nbsp;&nbsp;When 'E' is included,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;y$&quot; in an empty line now is handled as an error (Vi<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compatible).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added 'j' flag: Only add two spaces for a join after a '.',<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not after a '?' or '!'.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added 'A' flag: don't give ATTENTION message.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added 'L' flag: When not included, and&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is set,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'textwidth'">'textwidth'</a>&nbsp;formatting works like&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is not set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added 'W' flag:&nbsp;&nbsp;Let &quot;:w!&quot; behave like Vi&#0058; don't overwrite<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readonly files, or a file owned by someone else.<br>
<a class="Type" href="options.html#'highlight'">'highlight'</a>&nbsp;&nbsp;&nbsp;&nbsp; Added '@' flag, for '@' characters after the last line on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screen, and '$' at the end of the line when&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added 'i' flag: Set highlighting for&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>.&nbsp;&nbsp;Default<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uses &quot;IncSearch&quot; highlight group, which is linked to &quot;Visual&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disallow 'h' flag in&nbsp;<a class="Type" href="options.html#'highlight'">'highlight'</a>&nbsp;(wasn't used anymore since<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.0).<br>
<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Win32 GUI only: When set to &quot;*&quot; brings up a font requester.<br>
<a class="Type" href="options.html#'guipty'">'guipty'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default on, because so many people need it.<br>
<a class="Type" href="options.html#'path'">'path'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Can contain wildcards, and &quot;**&quot; for searching a whole tree.<br>
<a class="Type" href="options.html#'shortmess'">'shortmess'</a>&nbsp;&nbsp;&nbsp;&nbsp; Added 'I' flag to avoid the intro message.<br>
<a class="Type" href="options.html#'viminfo'">'viminfo'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Added '%' flag: Store buffer list in viminfo file.<br>
<br>
- Increased defaults for&nbsp;<a class="Type" href="options.html#'maxmem'">'maxmem'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'maxmemtot'">'maxmemtot'</a>&nbsp;for Unix and Win32.&nbsp;&nbsp;Most<br>
&nbsp;&nbsp;machines have much more RAM now that prices have dropped.<br>
- Implemented &quot;:set all&amp;&quot;, set all options to their default value.&nbsp;<a class="Identifier" href="options.html#:set">:set</a><br>
<br>
Swap file:<br>
- Don't create a swap file for a readonly file.&nbsp;&nbsp;Then create one on the first<br>
&nbsp;&nbsp;change.&nbsp;&nbsp;Also create a swapfile when the amount of memory used is getting<br>
&nbsp;&nbsp;too high.&nbsp;<a class="Identifier" href="recover.html#swap-file">swap-file</a><br>
- Make swap file &quot;hidden&quot;, if possible.&nbsp;&nbsp;On Unix this is done by prepending a<br>
&nbsp;&nbsp;dot to the swap file name.&nbsp;&nbsp;When long file names are used, the DJGPP and<br>
&nbsp;&nbsp;Win32 versions also prepend a dot, in case a file on a mounted Unix file<br>
&nbsp;&nbsp;system is edited.&nbsp;&nbsp;<a class="Identifier" href="recover.html#:swapname">:swapname</a>&nbsp;&nbsp;On MSDOS the hidden file attribute is NOT<br>
&nbsp;&nbsp;set, because this causes problems with share.exe.<br>
-&nbsp;<a class="Type" href="options.html#'updatecount'">'updatecount'</a>&nbsp;always defaults to non-zero, also for Vi compatible mode.<br>
&nbsp;&nbsp;This means there is a swap file, which can be used for recovery.<br>
<br>
Tags:<br>
- Included ctags 2.0 (Darren Hiebert).&nbsp;&nbsp;The syntax for static tags changed<br>
&nbsp;&nbsp;from<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">{tag}</span>:<span class="Special">{fname}</span>&nbsp;&nbsp;&nbsp;<span class="Special">{fname}</span>&nbsp;<span class="Special">{command}</span><br>
&nbsp;&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">{tag}</span>&nbsp;&nbsp;&nbsp;<span class="Special">{fname}</span>&nbsp;<span class="Special">{command}</span>;&quot;&nbsp;&nbsp;&nbsp;&nbsp; file:<br>
&nbsp;&nbsp;Which is both faster to parse, shorter and Vi compatible.&nbsp;&nbsp;The old format is<br>
&nbsp;&nbsp;also still accepted, unless disabled in src/feature.h (see OLD_STATIC_TAGS).<br>
&nbsp;&nbsp;<a class="Identifier" href="tagsrch.html#tags-file-format">tags-file-format</a><br>
- Completion of tags now also includes static tags for other files, at the<br>
&nbsp;&nbsp;end.<br>
- Included &quot;shtags&quot; from Stephen Riehm.<br>
- When finding a matching tag, but the file doesn't exist, continue searching<br>
&nbsp;&nbsp;for another match.&nbsp;&nbsp;Helps when using the same tags file (with links) for<br>
&nbsp;&nbsp;different versions of source code.<br>
- Give a tag with a global match in the current file a higher priority than a<br>
&nbsp;&nbsp;global match in another file.<br>
<br>
Included xxd version V1.8 (Juergen Weigert).<br>
<br>
Autocommands:<br>
- VimLeave autocommands are executed after writing the viminfo file, instead<br>
&nbsp;&nbsp;of before.&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#VimLeave">VimLeave</a><br>
- Allow changing autocommands while executing them.&nbsp;&nbsp;This allows for<br>
&nbsp;&nbsp;self-modifying autocommands.&nbsp;&nbsp;(idea from Goldberg)<br>
- When using autocommands with two or more patterns, could not split<br>
&nbsp;&nbsp;&quot;:if/:endif&quot; over two lines.&nbsp;&nbsp;Now all matching autocommands are executed in<br>
&nbsp;&nbsp;one do_cmdline().<br>
- Autocommands no longer change the command repeated with &quot;.&quot;.<br>
- Search patterns are restored after executing autocommands.&nbsp;&nbsp;This avoids<br>
&nbsp;&nbsp;that the&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;highlighting is messed up by autocommands.<br>
- When trying to execute an autocommand, also try matching the pattern with<br>
&nbsp;&nbsp;the short file name.&nbsp;&nbsp;Helps when short file name is different from full<br>
&nbsp;&nbsp;file name (expanded symbolic links).&nbsp;<a class="Identifier" href="autocmd.html#autocmd-patterns">autocmd-patterns</a><br>
- Made the output of &quot;:autocmd&quot; shorter and look better.<br>
- Expand&nbsp;<span class="Special">&lt;sfile&gt;</span>&nbsp;in an &quot;:autocmd&quot; when it is defined.&nbsp;&nbsp;<a class="Identifier" href="cmdline.html#<sfile>">&lt;sfile&gt;</a><br>
- Added &quot;nested&quot; flag to &quot;:autocmd&quot;, allows nesting.&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#autocmd-nested">autocmd-nested</a><br>
- Added&nbsp;<span class="Special">[group]</span>&nbsp;argument to &quot;:autocmd&quot;.&nbsp;&nbsp;Overrides the currently set group.<br>
&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#autocmd-groups">autocmd-groups</a><br>
- new events:<br>
&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#BufUnload">BufUnload</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; before a buffer is unloaded<br>
&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#BufDelete">BufDelete</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; before a buffer is deleted from the buffer list<br>
&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#FileChangedShell">FileChangedShell</a>&nbsp;&nbsp;&nbsp;&nbsp;when a file's modification time has changed after<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;executing a shell command<br>
&nbsp;&nbsp;<a class="Identifier" href="autocmd.html#User">User</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user-defined autocommand<br>
- When&nbsp;<a class="Type" href="options.html#'modified'">'modified'</a>&nbsp;was set by a BufRead* autocommand, it was reset again<br>
&nbsp;&nbsp;afterwards.&nbsp;&nbsp;Now the &quot;:set modified&quot; is remembered.<br>
<br>
GUI:<br>
- Improved GUI scrollbar handling when redrawing is slower than the scrollbar<br>
&nbsp;&nbsp;events are generated.<br>
- &quot;vim -u NONE&quot; now also stops loading the .gvimrc and other GUI inits.&nbsp;&nbsp;<a class="Identifier" href="starting.html#-u">-u</a><br>
&nbsp;&nbsp;Use &quot;-U&quot; to use another gvimrc file.&nbsp;&nbsp;<a class="Identifier" href="starting.html#-U">-U</a><br>
- Handle&nbsp;<span class="Special">CTRL-C</span>&nbsp;for external command, also for systems where &quot;setsid()&quot; is<br>
&nbsp;&nbsp;supported.<br>
- When starting the GUI, restrict the window size to the screen size.<br>
- The default menus are read from $VIMRUNTIME/menu.vim.&nbsp;&nbsp;This allows for a<br>
&nbsp;&nbsp;customized default menu.&nbsp;&nbsp;<a class="Identifier" href="gui.html#menu.vim">menu.vim</a><br>
- Improved the default menus.&nbsp;&nbsp;Added File/Print, a Window menu, Syntax menu,<br>
&nbsp;&nbsp;etc.<br>
- Added priority to the &quot;:menu&quot; command.&nbsp;&nbsp;Now each menu can be put in a place<br>
&nbsp;&nbsp;where you want it, independent of the order in which the menus are defined.<br>
&nbsp;&nbsp;<a class="Identifier" href="gui.html#menu-priority">menu-priority</a><br>
<br>
Give a warning in the intro screen when running the Win32 console version on<br>
Windows 95 because there are problems using this version under Windows 95.<br>
<a class="Identifier" href="os_win32.html#win32-problems">win32-problems</a><br>
<br>
Added 'e' flag for &quot;:substitute&quot; command: Don't complain when not finding a<br>
match (Campbell).&nbsp;&nbsp;<a class="Identifier" href="change.html#:s">:s</a><br>
<br>
When using search commands in a mapping, only the last one is kept in the<br>
history.&nbsp;&nbsp;Avoids that the history is trashed by long mappings.<br>
<br>
Ignore characters after &quot;ex&quot;, &quot;view&quot; and &quot;gvim&quot; when checking startup mode.<br>
Allows the use of &quot;gvim5&quot; et. al.&nbsp;&nbsp;<a class="Identifier" href="starting.html#gvim">gvim</a>&nbsp;&quot;gview&quot; starts the GUI in readonly<br>
mode.&nbsp;&nbsp;<a class="Identifier" href="starting.html#gview">gview</a><br>
<br>
When resizing windows, the cursor is kept in the same relative position, if<br>
possible.&nbsp;&nbsp;(Webb)<br>
<br>
&quot;:all&quot; and &quot;:ball&quot; no longer close and then open a window for the same buffer.<br>
Avoids losing options, jumplist, and other info.<br>
<br>
&quot;-f&quot; command-line argument is now ignored if Vim was compiled without GUI.<br>
<a class="Identifier" href="starting.html#-f">-f</a><br>
<br>
In Visual block mode, the right mouse button picks up the nearest corner.<br>
<br>
Changed default mappings for DOS et al.&nbsp;&nbsp;Removed the DOS-specific mappings,<br>
only use the Windows ones.&nbsp;&nbsp;Added Shift-Insert, Ctrl-Insert, Ctrl-Del and<br>
Shift-Del.<br>
<br>
Changed the numbers in the output of &quot;:jumps&quot;, so you can see where&nbsp;<span class="Special">{count}</span><br>
<span class="Special">CTRL-O</span>&nbsp;takes you.&nbsp;&nbsp;<a class="Identifier" href="motion.html#:jumps">:jumps</a><br>
<br>
Using &quot;~&quot; for $HOME now works for all systems.&nbsp;&nbsp;<a class="Identifier" href="options.html#$HOME">$HOME</a><br>
<br>
Unix: Besides using&nbsp;<span class="Special">CTRL-C</span>, also use the INTR character from the tty settings.<br>
Somebody has INTR set to DEL.<br>
<br>
Allow a&nbsp;<span class="Special">&lt;LF&gt;</span>&nbsp;in a &quot;:help&quot; command argument to end the help command, so another<br>
command can follow.<br>
<br>
Doing &quot;%&quot; on a line that starts with &quot;&nbsp;&nbsp; #if&quot; didn't jump to matching &quot;#else&quot;.<br>
Don't recognize &quot;#if&quot;, &quot;#else&quot; etc. for '%' when&nbsp;<a class="Type" href="options.html#'cpo'">'cpo'</a>&nbsp;contains the '%' flag.<br>
<a class="Identifier" href="motion.html#%">%</a><br>
<br>
Insert mode expansion with &quot;<span class="Special">CTRL-N</span>&quot;, &quot;<span class="Special">CTRL-P</span>&quot; and &quot;<span class="Special">CTRL-X</span>&quot; improved<br>
<a class="Identifier" href="insert.html#ins-completion">ins-completion</a>:<br>
-&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;option added.<br>
- When&nbsp;<a class="Type" href="options.html#'nowrapscan'">'nowrapscan'</a>&nbsp;is set, and no match found, report the searched direction<br>
&nbsp;&nbsp;in the error message.<br>
- Repeating&nbsp;<span class="Special">CTRL-X</span>&nbsp;commands adds following words/lines after the match.<br>
- When adding-expansions, accept single character matches.<br>
- Made repeated&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-N</span>&nbsp;not break undo, and &quot;.&quot; repeats the whole<br>
&nbsp;&nbsp;insertion.&nbsp;&nbsp;Also fixes not being able to backspace over a word that has been<br>
&nbsp;&nbsp;inserted with&nbsp;<span class="Special">CTRL-N</span>.<br>
<br>
When copying characters in Insert mode from previous/next line, with&nbsp;<span class="Special">CTRL-E</span>&nbsp;or<br>
<span class="Special">CTRL-Y</span>,&nbsp;<a class="Type" href="options.html#'textwidth'">'textwidth'</a>&nbsp;is no longer used.&nbsp;&nbsp;<a class="Identifier" href="insert.html#i_CTRL-E">i_CTRL-E</a><br>
<br>
Commands that move in the arglist, like &quot;:n&quot; and &quot;:rew&quot;, keep the old cursor<br>
position of the file (this is mostly Vi compatible).<br>
<br>
Vim now remembers the '&lt; and '&gt; marks for each buffer.&nbsp;&nbsp;This fixes a problem<br>
that a line-delete in one buffer invalidated the '&lt; and '&gt; marks in another<br>
buffer.&nbsp;&nbsp;<a class="Identifier" href="motion.html#'<">'&lt;</a><br>
<br>
For MSDOS, Unix and OS/2: When $VIM not set, use the path from the executable.<br>
When using the executable path for $VIM, remove &quot;src/&quot; when present.&nbsp;&nbsp;Should<br>
make Vim find the docs and syntax files when it is run directly after<br>
compiling.&nbsp;&nbsp;<a class="Identifier" href="starting.html#$VIM">$VIM</a><br>
<br>
When quitting Visual mode with&nbsp;<span class="Special">&lt;Esc&gt;</span>, the cursor is put at start of the Visual<br>
area (like after executing an operator).<br>
<br>
Win32 and Unix version: Removed 1100 character limit on external commands.<br>
<br>
Added possibility to include a space in a &quot;:edit +command&quot; argument, by<br>
putting a backslash before it.&nbsp;&nbsp;<a class="Identifier" href="editing.html#+cmd">+cmd</a><br>
<br>
After recovery, BufReadPost autocommands are applied.&nbsp;&nbsp;<a class="Identifier" href="recover.html#:recover">:recover</a><br>
<br>
Added color support for &quot;os2ansi&quot;, OS/2 console. (Slootman)<br>
<br>
Allow &quot;%:p:h&quot; when % is empty.&nbsp;&nbsp;<a class="Identifier" href="cmdline.html#:_%">:_%</a><br>
<br>
Included &quot;<span class="Special">&lt;sfile&gt;</span>&quot;: file name from the &quot;:source&quot; command.&nbsp;&nbsp;<a class="Identifier" href="cmdline.html#<sfile>">&lt;sfile&gt;</a><br>
<br>
Added &quot;<span class="Special">&lt;Bslash&gt;</span>&quot; special character.&nbsp;&nbsp;Helps for avoiding multiple backslashes<br>
in mappings and menus.<br>
<br>
In a help window, a double-click jumps to the tag under the cursor (like<br>
<span class="Special">CTRL-]</span>).<br>
<br>
<span class="Special">&lt;C-Left&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;C-Right&gt;</span>&nbsp;now work like&nbsp;<span class="Special">&lt;S-Left&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;S-Right&gt;</span>, move a word<br>
forward/backward (Windows compatible).&nbsp;<a class="Identifier" href="motion.html#<C-Left>">&lt;C-Left&gt;</a><br>
<br>
Removed the requirement for a &quot;:version&quot; command in a .vimrc file.&nbsp;&nbsp;It wasn't<br>
used for anything.&nbsp;&nbsp;You can use &quot;:if&quot; to handle differences between versions.<br>
<a class="Identifier" href="various.html#:version">:version</a><br>
<br>
For MS-DOS, Win32 and OS/2: When comparing file names for autocommands, don't<br>
make a difference between '/' and '\' for path separator.<br>
<br>
New termcap options:<br>
&quot;mb&quot;: blink.&nbsp;&nbsp;Can only be used by assigning it to one of the other highlight<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options.&nbsp;&nbsp;<a class="Identifier" href="term.html#t_mb">t_mb</a><br>
&quot;bc&quot;: backspace character.&nbsp;&nbsp;<a class="Identifier" href="term.html#t_bc">t_bc</a><br>
&quot;nd&quot;: Used for moving the cursor right in the GUI, to avoid removing one line<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of pixels from the last bold character.&nbsp;&nbsp;<a class="Identifier" href="term.html#t_nd">t_nd</a><br>
&quot;xs&quot;: highlighting not erased by overwriting, for hpterm.&nbsp;&nbsp;Combined with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'weirdinvert'">'weirdinvert'</a>.&nbsp;&nbsp;Visual mode works on hpterm now.&nbsp;&nbsp;<a class="Identifier" href="term.html#t_xs">t_xs</a><br>
<br>
Unix: Set time of patch and backup file same as original file.&nbsp;&nbsp;(Hiebert).<br>
<br>
Amiga: In QuickFix mode no longer opens another window.&nbsp;&nbsp;Shell commands can be<br>
used now.<br>
<br>
Added decmouse patches from David Binette.&nbsp;&nbsp;Can now use Dec and Netterm mouse.<br>
But only when enabled at compile time.<br>
<br>
Added '#' register: Alternate file name&nbsp;<a class="Identifier" href="change.html#quote#">quote#</a>.&nbsp;&nbsp;Display '#' register with<br>
&quot;:dis&quot; command.&nbsp;<a class="Identifier" href="change.html#:display">:display</a><br>
<br>
Removed ':' from&nbsp;<a class="Type" href="options.html#'isfname'">'isfname'</a>&nbsp;default for Unix.&nbsp;&nbsp;Check for &quot;://&quot; in a file name<br>
anyway.&nbsp;&nbsp;Also check for &quot;:\\&quot;, for MS-DOS.<br>
<br>
Added count to &quot;K&quot;eyword command, when&nbsp;<a class="Type" href="options.html#'keywordprg'">'keywordprg'</a>&nbsp;is &quot;man&quot;, is inserted in<br>
the man command.&nbsp;&nbsp;&quot;2K&quot; results in &quot;!man 2&nbsp;<span class="Special">&lt;cword&gt;</span>&quot;.&nbsp;&nbsp;<a class="Identifier" href="various.html#K">K</a><br>
<br>
When using &quot;gf&quot; on a relative path name, remove &quot;../&quot; from the file name, like<br>
it's done for file names in the tags file.&nbsp;<a class="Identifier" href="editing.html#gf">gf</a><br>
<br>
When finishing recording, don't make the recorded register the default put<br>
register.<br>
<br>
When using &quot;!!&quot;, don't put &quot;:5,5!&quot; on the command-line, but &quot;:.!&quot;.&nbsp;&nbsp;And some<br>
other enhancements to replace the line number with &quot;.&quot; or &quot;$&quot; when possible.<br>
<br>
MSDOS et al.: Renamed $VIM/viminfo to $VIM/_viminfo.&nbsp;&nbsp;It's more consistent:<br>
.vimrc/_vimrc and .viminfo/_viminfo<br>
<br>
For systems where case doesn't matter in file names (MSDOS, Amiga), ignore<br>
case while sorting file names.&nbsp;&nbsp;For buffer names too.<br>
<br>
When reading from stdin doesn't work, read from stderr (helps for &quot;foo | xargs<br>
vim&quot;).<br>
<br>
32 bit MS-DOS version: Replaced csdpmi3 by csdpmi4.<br>
<br>
Changed&nbsp;<span class="Special">&lt;C-Left&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;C-Right&gt;</span>&nbsp;to skip a WORD instead of a word.<br>
<br>
Warning for changed modified time when overwriting a file now also works on<br>
other systems than Unix.<br>
<br>
Unix: Changed the defaults for configure to be the same as the defaults for<br>
Makefile: include GUI, Perl, and Python.<br>
<br>
Some versions of Motif require &quot;-lXpm&quot;.&nbsp;&nbsp;Added check for this in configure.<br>
<br>
Don't add &quot;-L/usr/lib&quot; to the link line, causes problems on a few systems.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COMPILE TIME CHANGES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#compile-changes-5" name="compile-changes-5">compile-changes-5</a><br>
<br>
When compiling, allow a choice for minimal, normal or maximal features in an<br>
easy way, by changing a single line in src/feature.h.<br>
The DOS16 version has been compiled with minimal features to avoid running<br>
out of memory too quickly.<br>
The Win32, DJGPP, and OS/2 versions use maximal features, because they have<br>
enough memory.<br>
The Amiga version is available with normal and maximal features.<br>
<br>
Added &quot;make test&quot; to Unix version Makefile.&nbsp;&nbsp;Allows for a quick check if most<br>
&quot;normal&quot; commands work properly.&nbsp;&nbsp;Also tests a few specific commands.<br>
<br>
Added setlocale() with codepage support for DJGPP version.<br>
<br>
autoconf:<br>
- Added autoconf check for -lXdmcp.<br>
- Included check for -lXmu, no longer needed to edit the Makefile for this.<br>
- Switched to autoconf 2.12.<br>
- Added configure check for &lt;poll.h&gt;.&nbsp;&nbsp;Seems to be needed when including<br>
&nbsp;&nbsp;Perl on Linux?<br>
- termlib is now checked before termcap.<br>
- Added configure check for strncasecmp(), stricmp() and strnicmp().&nbsp;&nbsp;Added<br>
&nbsp;&nbsp;vim_stricmp() for when there's no library function for stricmp().<br>
- Use &quot;datadir&quot; in configure, instead of our own check for HELPDIR.<br>
<br>
Removed &quot;make proto&quot; from Makefile.manx.&nbsp;&nbsp;Could not make it work without a lot<br>
of #ifdefs.<br>
<br>
Removed &quot;proto/&quot; from paths in proto.h.&nbsp;&nbsp;Needed for the Mac port.<br>
<br>
Drastically changed Makefile.mint.&nbsp;&nbsp;Now it includes the Unix Makefile.<br>
<br>
Added support for Dos16 in Makefile.b32 (renamed Makefile.b32 to Makefile.bor)<br>
<br>
All source files are now edited with a tabstop of 8 instead of 4, which is<br>
better when debugging and using other tools.&nbsp;&nbsp;<a class="Type" href="options.html#'softtabstop'">'softtabstop'</a>&nbsp;is set to 4, to<br>
make editing easier.<br>
<br>
Unix: Added &quot;link.sh&quot; script, which removes a few unnecessary libraries from<br>
the link command.<br>
<br>
Don't use HPUX digraphs by default, but only when HPUX_DIGRAPHS is defined.<br>
<a class="Identifier" href="digraph.html#digraphs-default">digraphs-default</a><br>
<br>
<span class="PreProc">==============================================================================</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BUG FIXES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#bug-fixes-5" name="bug-fixes-5">bug-fixes-5</a><br>
<br>
<span class="Todo">Note</span>:&nbsp;&nbsp; Some of these fixes may only apply to test versions which were<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;created after version 4.6, but before 5.0.<br>
<br>
<br>
When doing &quot;:bdel&quot;, try going to the next loaded buffer.&nbsp;&nbsp;Don't rewind to the<br>
start of the buffer list.<br>
<br>
mch_isdir() for Unix returned TRUE for &quot;&quot; on some systems.<br>
<br>
Win32:&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;set to &quot;mksnt/sh.exe&quot; breaks &quot;:!&quot; commands.&nbsp;&nbsp;Don't use<br>
backslashes in the temp file names.<br>
<br>
On linux, with a FAT file system, could get spurious &quot;file xxx changed since<br>
editing started&quot; messages, because the time is rounded off to two seconds<br>
unexpectedly.<br>
<br>
Crash in GUI, when selecting a word (double click) and then extend until an<br>
empty line.<br>
<br>
For systems where isdigit() can't handle characters &gt; 255, get_number() caused<br>
a crash when moving the mouse during the prompt for recovery.<br>
<br>
In Insert mode, &quot;<span class="Special">CTRL-O</span>&nbsp;P&quot; left the cursor on the last inserted character.<br>
Now the cursor is left after the last putted character.<br>
<br>
When quickfix found an error type other than 'e' or 'w', it was never printed.<br>
<br>
A setting for&nbsp;<a class="Type" href="options.html#'errorfile'">'errorfile'</a>&nbsp;in a .vimrc overruled the &quot;-q errorfile&quot; argument.<br>
<br>
Some systems create a file when generating a temp file name.&nbsp;&nbsp;Filtering would<br>
then create a backup file for this, which was never deleted.&nbsp;&nbsp;Now no backup<br>
file is made when filtering.<br>
<br>
simplify_filename() could remove a &quot;..&quot; after a link, resulting in the wrong<br>
file name.&nbsp;&nbsp;Made simplify_filename also work for MSDOS.&nbsp;&nbsp;Don't use it for<br>
Amiga, since it doesn't have &quot;../&quot;.<br>
<br>
otherfile() was unreliable when using links.&nbsp;&nbsp;Could think that reading/writing<br>
was for a different file, when it was the same.<br>
<br>
Pasting with mouse in Replace mode didn't replace anything.<br>
<br>
Window height computed wrong when resizing a window with an autocommand (could<br>
cause a crash).<br>
<br>
&quot;:s!foo!bar!&quot; wasn't possible (Vi compatible).<br>
<br>
do_bang() freed memory twice when called recursively, because of autocommands<br>
(test11).&nbsp;&nbsp;Thanks to Electric Fence!<br>
<br>
&quot;v$d&quot; on an empty line didn't remove the &quot;-- VISUAL --&quot; mode message from the<br>
command-line, and inverted the cursor.<br>
<br>
&quot;:mkexrc&quot; didn't check for failure to open the file, causing a crash.<br>
(Felderhoff).<br>
<br>
Win32 mch_write() wrote past fixed buffer, causing terminal keys no longer to<br>
be recognized.&nbsp;&nbsp;Both console and GUI version.<br>
<br>
Athena GUI: Crash when removing a menu item.&nbsp;&nbsp;Now Vim doesn't crash, but the<br>
reversing of the menu item is still wrong.<br>
<br>
Always reset&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;option for the help window.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;is non-zero, a&nbsp;<a class="Type" href="options.html#'showmatch'">'showmatch'</a>&nbsp;could cause the shown match to be<br>
in the wrong line and the window to be scrolled (Acevedo).<br>
<br>
After &quot;:set all&amp;&quot;,&nbsp;<a class="Type" href="options.html#'lines'">'lines'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'ttytype'">'ttytype'</a>&nbsp;were still non-default, because the<br>
defaults never got set.&nbsp;&nbsp;Now the defaults for&nbsp;<a class="Type" href="options.html#'lines'">'lines'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;are set<br>
after detecting the window size.&nbsp;&nbsp;<a class="Type" href="options.html#'term'">'term'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'ttytype'">'ttytype'</a>&nbsp;defaults are set when<br>
detecting the terminal type.<br>
<br>
For (most) non-Unix systems, don't add file names with illegal characters when<br>
expanding.&nbsp;&nbsp;Fixes &quot;cannot open swapfile&quot; error when doing &quot;:e *.burp&quot;, when<br>
there is no match.<br>
<br>
In X11 GUI, drawing part of the cursor obscured the text.&nbsp;&nbsp;Now the text is<br>
drawn over the cursor, like when it fills the block. (Seibert)<br>
<br>
when started with &quot;-c cmd -q errfile&quot;, the cursor would be left in line 1.<br>
Now a &quot;:cc&quot; is done after executing &quot;cmd&quot;.<br>
<br>
&quot;:ilist&quot; never ignored case, even when&nbsp;<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>&nbsp;set.<br>
<br>
&quot;vim -r file&quot; for a readonly file, then making a change, got ATTENTION message<br>
in insert mode, display mixed up until&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;typed.&nbsp;&nbsp;Also don't give ATTENTION<br>
message after recovering a file.<br>
<br>
The abbreviation &quot;:ab #i #include&quot; could not be removed.<br>
<br>
<span class="Special">CTRL-L</span>&nbsp;completion (longest common match) on command-line didn't work properly<br>
for case-insensitive systems (MS-DOS, Windows, etc.).&nbsp;&nbsp;(suggested by Richard<br>
Kilgore).<br>
<br>
For terminals that can hide the cursor (&quot;vi&quot; termcap entry), resizing the<br>
window caused the cursor to disappear.<br>
<br>
Using an invalid mark in an Ex address didn't abort the command.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'smarttab'">'smarttab'</a>&nbsp;set, would use&nbsp;<a class="Type" href="options.html#'shiftround'">'shiftround'</a>&nbsp;when inserting a TAB after a<br>
space.&nbsp;&nbsp;Now it always rounds to a tabstop.<br>
<br>
Set '[ and '] marks for &quot;:copy&quot;, &quot;:move&quot;, &quot;:append&quot;, &quot;:insert&quot;, &quot;:substitute&quot;<br>
and &quot;:change&quot;.&nbsp;&nbsp;(Acevedo).<br>
<br>
&quot;d$&quot; in an empty line still caused an error, even when 'E' is not in<br>
<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>.<br>
<br>
Help files were stored in the viminfo buffer list without a path.<br>
<br>
GUI: Displaying cursor was not synchronized with other displaying.&nbsp;&nbsp;Caused<br>
several display errors.&nbsp;&nbsp;For example, when the last two lines in the file<br>
start with spaces, &quot;dd&quot; on the last line copied text to the (then) last line.<br>
<br>
Win32: Needed to type&nbsp;<span class="Special">CTRL-S</span>HIFT-- to get&nbsp;<span class="Special">CTRL-_</span>.<br>
<br>
GUI: Moving the cursor forwards over bold text would remove one column of bold<br>
pixels.<br>
<br>
X11 GUI: When a bold character in the last column was scrolled up or down, one<br>
column of pixels would not be copied.<br>
<br>
Using&nbsp;<span class="Special">&lt;BS&gt;</span>&nbsp;to move the cursor left can sometimes erase a character.&nbsp;&nbsp;Now use<br>
&quot;le&quot; termcap entry for this.<br>
<br>
Keyword completion with regexp didn't work.&nbsp;&nbsp;e.g., for &quot;b.*crat&quot;.<br>
<br>
Fixed: With&nbsp;<span class="Special">CTRL-O</span>&nbsp;that jumps to another file, cursor could end up just after<br>
the line.<br>
<br>
Amiga: '$' was missing from character recognized as wildcards, causing $VIM<br>
sometimes not to be expanded.<br>
<br>
&quot;:change&quot; didn't adjust marks for deleted lines.<br>
<br>
&quot;:help&nbsp;<span class="Special">[range]</span>&quot; didn't work.&nbsp;&nbsp;Also for&nbsp;<span class="Special">[pattern]</span>,&nbsp;<span class="Special">[count]</span>&nbsp;and&nbsp;<span class="Special">[quotex]</span>.<br>
<br>
For&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>ing, typing &quot;class::method&quot; doesn't align like a label when the<br>
second ':' is typed.<br>
When inserting a CR with&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;set (and a bunch of other conditions) the<br>
cursor went to a wrong location.<br>
<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;was wrong for a line that ends in '}'.<br>
<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;was wrong after &quot;else {&quot;.<br>
<br>
While editing the cmdline in the GUI, could not use the mouse to select text<br>
from the command-line itself.<br>
<br>
When deleting lines, marks in tag stack were only adjusted for the current<br>
window, not for other windows on the same buffer.<br>
<br>
Tag guessing could find a function &quot;some_func&quot; instead of the &quot;func&quot; we were<br>
looking for.<br>
<br>
Tags file name relative to the current file didn't work.<br>
<br>
&quot;:g/pat2/s//pat2/g&quot;, causing the number of subs to be reported, used to cause<br>
a scroll up.&nbsp;&nbsp;Now you no longer have to hit&nbsp;<span class="Special">&lt;CR&gt;</span>.<br>
<br>
X11 GUI: Selecting text could cause a crash.<br>
<br>
32 bit DOS version:&nbsp;<span class="Special">CTRL-C</span>&nbsp;in external command killed Vim.&nbsp;&nbsp;When SHELL is set<br>
to &quot;sh.exe&quot;, external commands didn't work.&nbsp;&nbsp;Removed using of command.com, no<br>
longer need to set&nbsp;<a class="Type" href="options.html#'shellquote'">'shellquote'</a>.<br>
<br>
Fixed crash when using &quot;:g/pat/i&quot;.<br>
<br>
Fixed (potential) crash for X11 GUI, when using an X selection.&nbsp;&nbsp;Was giving a<br>
pointer on the stack to a callback function, now it's static.<br>
<br>
Using &quot;#&quot; and &quot;*&quot; with an operator didn't work.&nbsp;&nbsp;E.g. &quot;c#&quot;.<br>
<br>
Command-line expansion didn't work properly after &quot;:*&quot;. (Acevedo)<br>
<br>
Setting&nbsp;<a class="Type" href="options.html#'weirdinvert'">'weirdinvert'</a>&nbsp;caused highlighting to be wrong in the GUI.<br>
<br>
&quot;:e +4 #&quot; didn't work, because the &quot;4&quot; was in unallocated memory (could cause<br>
a crash).<br>
<br>
Cursor position was wrong for &quot;:e #&quot;, after &quot;:e #&quot; failed, because of changes<br>
to the buffer.<br>
<br>
When doing &quot;:buf&nbsp;<span class="Special">N</span>&quot;, going to a buffer that was edited with &quot;:view&quot;, the<br>
readonly flag was reset.&nbsp;&nbsp;Now make a difference between &quot;:e file&quot; and &quot;:buf<br>
file&quot;: Only set/reset&nbsp;<a class="Type" href="options.html#'ro'">'ro'</a>&nbsp;for the first one.<br>
<br>
Avoid&nbsp;<a class="Identifier" href="message.html#hit-enter">hit-enter</a>&nbsp;prompt when not able to write viminfo on exit.<br>
<br>
When giving error messages in the terminal where the GUI was started, GUI<br>
escape codes would be written to the terminal.&nbsp;&nbsp;In an xterm this could be seen<br>
as a '$' after the message.<br>
<br>
Mouse would not work directly after &quot;:gui&quot;, because full_screen isn't set,<br>
which causes starttermcap() not to do its work.<br>
<br>
<a class="Type" href="options.html#'incsearch'">'incsearch'</a>&nbsp;did not scroll the window in the same way as the actual search.<br>
When&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;set, incsearch didn't show a match when it was off the side of<br>
the screen.&nbsp;&nbsp;Now it also shows the whole match, instead of just the cursor<br>
position (if possible).<br>
<br>
&quot;:unmap&quot;, &quot;:unab&quot; and &quot;:unmenu&quot; did not accept a double quote, it was seen as<br>
the start of a comment.&nbsp;&nbsp;Now it's Vi compatible.<br>
<br>
Using&nbsp;<span class="Special">&lt;Up&gt;&lt;Left&gt;&lt;Left&gt;&lt;Up&gt;</span>&nbsp;in the command-line, when there is no previous<br>
cmdline in the history, inserted a NUL on the command-line.<br>
<br>
&quot;i<span class="Special">&lt;Esc&gt;</span>&quot; when on a&nbsp;<span class="Special">&lt;Tab&gt;</span>&nbsp;in column 0 left the cursor in the wrong place.<br>
<br>
GUI Motif: When adding a lot of menu items, the menu bar goes into two rows.<br>
Deleting menu items, reducing the number of rows, now also works.<br>
<br>
With &quot;:g/pat/s//foo/c&quot;, a match in the first line was scrolled off of the<br>
screen, so you could not see it.<br>
When using &quot;:s//c&quot;, with&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;set, a match could be off the side of the<br>
screen, so you could not see it.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'helpfile'">'helpfile'</a>&nbsp;was set to a fixed, non-absolute path in feature.h, Vim would<br>
crash.&nbsp;&nbsp;mch_Fullname can now handle file names in read-only memory. (Lottem)<br>
<br>
When using&nbsp;<span class="Special">CTRL-A</span>&nbsp;or&nbsp;<span class="Special">CTRL-@</span>&nbsp;in Insert mode, there could be strange effects<br>
when using&nbsp;<span class="Special">CTRL-D</span>&nbsp;next.&nbsp;&nbsp;Also, when repeating inserted text that included &quot;0<br>
<span class="Special">CTRL-D</span>&quot; or &quot;^&nbsp;<span class="Special">CTRL-D</span>&quot; this didn't work. (Acevedo)<br>
Using&nbsp;<span class="Special">CTRL-D</span>&nbsp;after using&nbsp;<span class="Special">CTRL-E</span>&nbsp;or&nbsp;<span class="Special">CTRL-Y</span>&nbsp;in Insert mode that inserted a '0'<br>
or '^', removed the '0' or '^' and more indent.<br>
<br>
The command &quot;2&quot;.p&quot; caused the last inserted text to be executed as commands.<br>
(Acevedo)<br>
<br>
Repeating the insert of &quot;<span class="Special">CTRL-V</span>&nbsp;048&quot; resulted in &quot;^@&quot; to be inserted.<br>
<br>
Repeating Insert completion could fail if there are special characters in the<br>
text. (Acevedo)<br>
<br>
&quot;:normal /string<span class="Special">&lt;CR&gt;</span>&quot; caused the window to scroll.&nbsp;&nbsp;Now all &quot;:normal&quot; commands<br>
are executed without scrolling messages.<br>
<br>
Redo of&nbsp;<span class="Special">CTRL-E</span>&nbsp;or&nbsp;<span class="Special">CTRL-Y</span>&nbsp;in Insert mode interpreted special characters as<br>
commands.<br>
<br>
Line wrapping for&nbsp;<a class="Type" href="options.html#'tw'">'tw'</a>&nbsp;was done one character off for insert expansion<br>
inserts.<br>
<br>
buffer_exists() function didn't work properly for buffer names with a symbolic<br>
link in them (e.g. when using buffer_exists(#)).<br>
<br>
Removed the &quot;MOTIF_COMMENT&quot; construction from Makefile.&nbsp;&nbsp;It now works with<br>
FreeBSD make, and probably with NeXT make too.<br>
<br>
Matching the&nbsp;<a class="Type" href="options.html#'define'">'define'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'include'">'include'</a>&nbsp;arguments now honor the settings for<br>
<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>. (Acevedo)<br>
<br>
When one file shown in two windows, Visual selection mixed up cursor position<br>
in current window and other window.<br>
<br>
When doing &quot;:e file&quot; from a help file, the&nbsp;<a class="Type" href="options.html#'isk'">'isk'</a>&nbsp;option wasn't reset properly,<br>
because of a modeline in the help file.<br>
<br>
When doing &quot;:e!&quot;, a cursor in another window on the same buffer could become<br>
invalid, leading to &quot;ml_get: invalid lnum&quot; errors.<br>
<br>
Matching buffer name for when expanded name has a different path from not<br>
expanded name (Brugnara).<br>
<br>
Normal mappings didn't work after an operator.&nbsp;&nbsp;For example, with &quot;:map Q gq&quot;,<br>
&quot;QQ&quot; didn't work.<br>
<br>
When &quot;:make&quot; resulted in zero errors, a &quot;No Errors&quot; error message was given<br>
(which breaks mappings).<br>
<br>
When &quot;:sourcing&quot; a file, line length was limited to 1024 characters.&nbsp;&nbsp;<span class="Special">CTRL-V</span><br>
before&nbsp;<span class="Special">&lt;EOL&gt;</span>&nbsp;was not handled Vi compatible.&nbsp;&nbsp;(Acevedo)<br>
<br>
Unexpected exit for X11 GUI, caused by SAVE_YOURSELF event.&nbsp;&nbsp;(Heimann)<br>
<br>
<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-I</span>&nbsp;only found one match per line. (Acevedo)<br>
When using an illegal&nbsp;<span class="Special">CTRL-X</span>&nbsp;key in Insert mode, the&nbsp;<span class="Special">CTRL-X</span>&nbsp;mode message<br>
was stuck.<br>
<br>
Finally managed to ignore the &quot;Quit&quot; menu entry of the Window manager!&nbsp;&nbsp;Now<br>
Vim only exists when there are no changed buffers.<br>
<br>
Trying to start the GUI when $DISPLAY is not set resulted in a crash.<br>
When $DISPLAY is not set and gvim starts vim, title was restored to &quot;Thanks<br>
for flying Vim&quot;.<br>
When $DISPLAY not set, starting &quot;gvim&quot; (dropping back to vim) and then<br>
selecting text with the mouse caused a crash.<br>
<br>
&quot;J&quot;, with&nbsp;<a class="Type" href="options.html#'joinspaces'">'joinspaces'</a>&nbsp;set, on a line ending in &quot;. &quot;, caused one space too<br>
many to be added.&nbsp;&nbsp;(Acevedo)<br>
<br>
In insert mode, a&nbsp;<span class="Special">CTRL-R</span>&nbsp;<span class="Special">{regname}</span>&nbsp;which didn't insert anything left the '&quot;'<br>
on the screen.<br>
<br>
&quot;:z10&quot; didn't work. (Clapp)<br>
<br>
&quot;Help &quot;*&quot; didn't work.<br>
<br>
Renamed a lot of functions, to avoid clashes with POSIX name space.<br>
<br>
When adding characters to a line, making it wrap, the following lines were<br>
sometimes not shifted down (e.g. after a tag jump).<br>
<br>
<span class="Special">CTRL-E</span>, with&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;set and cursor on last line, now does not move cursor as<br>
long as the last line is on the screen.<br>
<br>
When there are two windows, doing &quot;^W+^W-&quot; in the bottom window could cause<br>
the status line to be doubled (not redrawn correctly).<br>
<br>
This command would hang: &quot;:n&nbsp;<a class="Comment" href="eval.html#:cat">cat</a>&quot;.&nbsp;&nbsp;Now connect stdin of the external<br>
command to /dev/null, when expanding.<br>
<br>
Fixed lalloc(0,) error for &quot;:echo %:e:r&quot;.&nbsp;&nbsp;(Acevedo)<br>
<br>
The &quot;+command&quot; argument to &quot;:split&quot; didn't work when there was no file name.<br>
<br>
When selecting text in the GUI, which is the output of a command-line command<br>
or an external command, the inversion would sometimes remain.<br>
<br>
GUI: &quot;-mh 70&quot; argument was broken.&nbsp;&nbsp;Now, when menuheight is specified, it is<br>
not changed anymore.<br>
<br>
GUI: When using the scrollbar or mouse while executing an external command,<br>
this caused garbage characters.<br>
<br>
Showmatch sometimes jumped to the wrong position.&nbsp;&nbsp;Was caused by a call to<br>
findmatch() when redrawing the display (when syntax highlighting is on).<br>
<br>
Search pattern &quot;\(a *\)\<span class="Special">{3}</span>&nbsp;did not work correctly, also matched &quot;a a&quot;.<br>
Problem with brace_count not being decremented.<br>
<br>
Wildcard expansion added too many non-matching file names.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;contains characters like '~', &quot;*&quot; and &quot;#&quot; didn't work<br>
properly. (Acevedo)<br>
<br>
On Linux, on a FAT file system, modification time can change by one second.<br>
Avoid a &quot;file has changed&quot; warning for a one second difference.<br>
<br>
When using the page-switching in an xterm, Vim would position the cursor on<br>
the last line of the window on exit.&nbsp;&nbsp;Also removed the cursor positioning for<br>
&quot;:!&quot; commands.<br>
<br>
&quot;:g/pat/p&quot; command (partly) overwrote the command.&nbsp;&nbsp;Now the output is on a<br>
separate line.<br>
<br>
With&nbsp;<a class="Type" href="options.html#'ic'">'ic'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'scs'">'scs'</a>&nbsp;set, a search for &quot;Keyword&quot;, ignore-case matches were<br>
highlighted too.<br>
<br>
&quot;^&quot; on a line with only white space, put cursor beyond the end of the line.<br>
<br>
When deleting characters before where insertion started (<a class="Type" href="options.html#'bs'">'bs'</a>&nbsp;== 2), could not<br>
use abbreviations.<br>
<br>
<span class="Special">CTRL-E</span>&nbsp;at end of file puts cursor below the file, in Visual mode, when&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;is<br>
non-zero.&nbsp;&nbsp;<span class="Special">CTRL-E</span>&nbsp;didn't work when&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;is big and the line below the window<br>
wraps.&nbsp;&nbsp;<span class="Special">CTRL-E</span>, when&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;is non-zero, at end of the file, caused jumping<br>
up-down.<br>
<br>
&quot;:retab&quot; didn't work well when&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is set.<br>
<br>
Amiga: When inserting characters at the last line on the screen, causing it<br>
to wrap, messed up the display.&nbsp;&nbsp;It appears that a '\n' on the last line<br>
doesn't always cause a scroll up.<br>
<br>
In Insert mode &quot;0<span class="Special">&lt;C-D&gt;&lt;C-D&gt;</span>&quot; deleted an extra character, because Vim thought<br>
that the &quot;0&quot; was still there. (Acevedo)<br>
<br>
&quot;z<span class="Special">{count}</span>l&quot; ignored the count.&nbsp;&nbsp;Also for &quot;zh&quot; et. al. (Acevedo)<br>
<br>
&quot;S&quot; when&nbsp;<a class="Type" href="options.html#'autoindent'">'autoindent'</a>&nbsp;is off didn't delete leading white space.<br>
<br>
&quot;/<span class="Special">&lt;Tab&gt;</span>&quot; landed on the wrong character when&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>&nbsp;is set.<br>
<br>
Asking a yes/no question could cause a&nbsp;<a class="Identifier" href="message.html#hit-enter">hit-enter</a>&nbsp;prompt.<br>
<br>
When the file consists of one long line (&gt;4100 characters), making changes<br>
caused various errors and a crash.<br>
<br>
DJGPP version could not save long lines (&gt;64000) for undo.<br>
<br>
&quot;yw&quot; on the last char in the file didn't work.&nbsp;&nbsp;Also fixed &quot;6x&quot; at the end of<br>
the line.&nbsp;&nbsp;&quot;6X&quot; at the start of a line fails, but does not break a mapping.&nbsp;&nbsp;In<br>
general, a movement for an operator doesn't beep or flush a mapping, but when<br>
there is nothing to operate on it beeps (this is Vi compatible).<br>
<br>
&quot;m'&quot; and &quot;m`&quot; now set the '' mark at the cursor position.<br>
<br>
Unix: Resetting of signals for external program didn't work, because SIG_DFL<br>
and NULL are the same!&nbsp;&nbsp;For &quot;!!yes|dd count=1|, the yes command kept on<br>
running.<br>
<br>
Partly fixed: Unix GUI: Typeahead while executing an external command was lost.<br>
Now it's not lost while the command is producing output.<br>
<br>
Typing&nbsp;<span class="Special">&lt;S-Tab&gt;</span>&nbsp;in Insert mode, when it isn't mapped, inserted &quot;<span class="Special">&lt;S-Tab&gt;</span>&quot;.&nbsp;&nbsp;Now<br>
it works like a normal&nbsp;<span class="Special">&lt;Tab&gt;</span>, just like&nbsp;<span class="Special">&lt;C-Tab&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;M-Tab&gt;</span>.<br>
<br>
Redrawing ruler didn't check for old value correctly (caused UMR warnings in<br>
Purify).<br>
<br>
Negative array index in finish_viminfo_history().<br>
<br>
&quot;:g/^/d|mo $&quot; deleted all the lines.&nbsp;&nbsp;The &quot;:move&quot; command now removes the<br>
:global mark from the moved lines.<br>
<br>
Using &quot;vG&quot; while the last line in the window is a &quot;@&quot; line, didn't update<br>
correctly.&nbsp;&nbsp;Just the &quot;v&quot; showed &quot;~&quot; lines.<br>
<br>
&quot;daw&quot; on the last char of the file, when it's a space, moved the cursor beyond<br>
the end of the line.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;was set or reset, only the current buffer was redrawn, while<br>
this affects all windows.<br>
<br>
<span class="Special">CTRL-^</span>, positioning the cursor somewhere from 1/2 to 1 1/2 screen down the<br>
file, put the cursor at the bottom of the window, instead of halfway.<br>
<br>
When scrolling up for &quot;:append&quot; command, not all windows were updated<br>
correctly.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;is set, and an auto-indent is highlighted, pressing&nbsp;<span class="Special">&lt;Esc&gt;</span><br>
didn't remove the highlighting, although the indent was deleted.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'ru'">'ru'</a>&nbsp;set and&nbsp;<a class="Type" href="options.html#'nosc'">'nosc'</a>, using &quot;$j&quot; showed a wrong ruler.<br>
<br>
Under Xfree 3.2, Shift-Tab didn't work (wrong keysym is used).<br>
<br>
Mapping&nbsp;<span class="Special">&lt;S-Tab&gt;</span>&nbsp;didn't work.&nbsp;&nbsp;Changed the key translations to use the shortest<br>
key code possible.&nbsp;&nbsp;This makes the termcode translations and mappings more<br>
consistent.&nbsp;&nbsp;Now all modifiers work in all combinations, not only with&nbsp;<span class="Special">&lt;Tab&gt;</span>,<br>
but also with&nbsp;<span class="Special">&lt;Space&gt;</span>,&nbsp;<span class="Special">&lt;CR&gt;</span>, etc.<br>
<br>
For Unix, restore three more signals.&nbsp;&nbsp;And Vim catches SIGINT now, so&nbsp;<span class="Special">CTRL-C</span><br>
in Ex mode doesn't make Vim exit.<br>
<br>
&quot;&quot;a5Y&quot; yanked 25 lines instead of 5.<br>
<br>
&quot;vrxxx<span class="Special">&lt;Esc&gt;</span>&quot; in an empty line could not be undone.<br>
<br>
A&nbsp;<span class="Special">CTRL-C</span>&nbsp;that breaks &quot;:make&quot; caused the errorfile not to be read (annoying<br>
when you want to handle what &quot;:make&quot; produced so far).<br>
<br>
&quot;:0;/pat&quot; didn't find &quot;pat&quot; in line 1.<br>
<br>
Search for &quot;/test/s+1&quot; at first char of file gave bottom-top message, or<br>
didn't work at all with&nbsp;<a class="Type" href="options.html#'nowrapscan'">'nowrapscan'</a>.<br>
<br>
Bug in viminfo history.&nbsp;&nbsp;Could cause a crash on exit.<br>
<br>
&quot;:print&quot; didn't put cursor on first non-blank in line.<br>
<br>
&quot;:0r !cat &lt;/dev/null&quot; left cursor in line zero, with very strange effects.<br>
<br>
With&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>&nbsp;set and&nbsp;<a class="Type" href="options.html#'timeoutlen'">'timeoutlen'</a>&nbsp;set to a few seconds, trick to position<br>
the cursor leftwards didn't work.<br>
<br>
AIX stty settings were restored to cs5 instead of cs8 (Winn).<br>
<br>
File name completion didn't work for &quot;zsh&quot; versions that put spaces between<br>
file names, instead of NULs.<br>
<br>
Changed &quot;XawChain*&quot; to &quot;XtChain*&quot;, should work for more systems.<br>
<br>
Included quite a few fixes for rightleft mode (Lottem).<br>
<br>
Didn't ask to&nbsp;<a class="Identifier" href="message.html#hit-enter">hit-enter</a>&nbsp;when GUI is started and error messages are printed.<br>
<br>
When trying to edit a file in a non-existent directory, ended up with editing<br>
&quot;No file&quot;.<br>
<br>
&quot;gqap&quot; to format a paragraph did too much redrawing.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;set, only the current window was updated for a new search<br>
pattern.<br>
<br>
Sometimes error messages on startup didn't cause a&nbsp;<a class="Identifier" href="message.html#hit-enter">hit-enter</a>&nbsp;prompt,<br>
because of autocommands containing an empty line.<br>
<br>
Was possible to select part of the window in the border, below the command<br>
line.<br>
<br>
'&lt; and '&gt; marks were not at the correct position after linewise Visual<br>
selection.<br>
<br>
When translating a help argument to &quot;<span class="Special">CTRL-x</span>&quot;, prepend or append a '_', when<br>
applicable.<br>
<br>
Blockwise visual mode wasn't correct when moving vertically over a special<br>
character (displayed as two screen characters).<br>
<br>
Renamed &quot;struct option&quot; to &quot;struct vimoption&quot; to avoid name clash with GNU<br>
getopt().<br>
<br>
&quot;:abclear&quot; didn't work (but &quot;:iabclear&quot; and &quot;:cabclear&quot; did work).<br>
<br>
When&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;used, screen wasn't always updated correctly.<br>
<br>
&quot;vim -c split file&quot; displayed extra lines.<br>
<br>
After starting the GUI, searched the termcap for a &quot;gui&quot; term.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'hls'">'hls'</a>&nbsp;used, search for &quot;^$&quot; caused a hang.<br>
When&nbsp;<a class="Type" href="options.html#'hls'">'hls'</a>&nbsp;was set, an error in the last regexp caused trouble.<br>
<br>
Unix: Only output an extra&nbsp;<span class="Special">&lt;EOL&gt;</span>&nbsp;on exit when outputted something in the<br>
alternate screen, or when there is a message that needs to be cleared.<br>
<br>
&quot;/a\{&quot; did strange things, depending on previous search.<br>
<br>
&quot;c}&quot; only redrew one line (with -u NONE).<br>
<br>
For mappings,&nbsp;<span class="Special">CTRL-M</span>ETA-A was shown as &lt;M-^A&gt; instead of&nbsp;<span class="Special">&lt;MC-A&gt;</span>, while :map<br>
only accepts&nbsp;<span class="Special">&lt;MC-A&gt;</span>.&nbsp;&nbsp;Now&nbsp;<span class="Special">&lt;M-C-A&gt;</span>&nbsp;is shown.<br>
<br>
Unix: When using full path name in a tags file, which contains a link, and<br>
<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;set and jumping to a tag in the current file, would get bogus<br>
ATTENTION message.&nbsp;&nbsp;Solved by always expanding file names, even when starting<br>
with '/'.<br>
<br>
<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;highlighting of special characters (e.g., a TAB) didn't highlight<br>
the whole thing.<br>
<br>
&quot;r<span class="Special">&lt;CR&gt;</span>&quot; didn't work correctly on the last char of a line.<br>
<br>
Sometimes a window resize or other signal caused an endless loop, involving<br>
set_winsize().<br>
<br>
&quot;vim -r&quot; didn't work, it would just hang (using tgetent() while&nbsp;<a class="Type" href="options.html#'term'">'term'</a>&nbsp;is<br>
empty).<br>
<br>
&quot;gk&quot; while&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;set moved two lines up.<br>
<br>
When windows are split, a message that causes a scroll-up messed up one of the<br>
windows, which required a&nbsp;<span class="Special">CTRL-L</span>&nbsp;to be typed.<br>
<br>
Possible endless loop when using shell command in the GUI.<br>
<br>
Menus defined in the .vimrc were removed when GUI started.<br>
<br>
Crash when pasting with the mouse in insert mode.<br>
<br>
Crash with &quot;:unmenu *&quot; in .gvimrc for Athena.<br>
<br>
&quot;5&gt;&gt;&quot; shifted 5 lines 5 times, instead of 1 time.<br>
<br>
<span class="Special">CTRL-C</span>&nbsp;when getting a prompt in &quot;:global&quot; didn't interrupt.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;is non-zero, and moving the scrollbar completely to the bottom,<br>
there was a lot of flashing.<br>
<br>
GUI: Scrollbar ident must be long for DEC Alpha.<br>
<br>
Some functions called vim_regcomp() without setting reg_magic, which could<br>
lead to unpredictable magicness.<br>
<br>
Crash when clicking around the status line, could get a selection with a<br>
backwards range.<br>
<br>
When deleting more than one line characterwise, the last character wasn't<br>
deleted.<br>
<br>
GUI: Status line could be overwritten when moving the scrollbar quickly (or<br>
when&nbsp;<a class="Type" href="options.html#'wd'">'wd'</a>&nbsp;is non-zero).<br>
<br>
An ESC at the end of a &quot;:normal&quot; command caused a wait for a terminal code to<br>
finish.&nbsp;&nbsp;Now, a terminal code is not recognized when its start comes from a<br>
mapping or &quot;:normal&quot; command.<br>
<br>
Included patches from Robert Webb for GUI.&nbsp;&nbsp;Layout of the windows is now done<br>
inside Vim, instead of letting the layout manager do this.&nbsp;&nbsp;Makes Vim work<br>
with Lesstif!<br>
<br>
UMR warning in set_expand_context().<br>
<br>
Memory leak: b_winlnum list was never freed.<br>
<br>
Removed TIOCLSET/TIOCLGET code from os_unix.c.&nbsp;&nbsp;Was changing some of the<br>
terminal settings, and looked like it wasn't doing anything good.&nbsp;&nbsp;(suggested<br>
by Juergen Weigert).<br>
<br>
Ruler overwrote &quot;is a directory&quot; message.&nbsp;&nbsp;When starting up, and&nbsp;<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a><br>
set to &gt; 1, first message could still be in the last line.<br>
<br>
Removed prototype for putenv() from proto.h, it's already in osdef2.h.in.<br>
<br>
In replace mode, when moving the cursor and then backspacing, wrong characters<br>
were inserted.<br>
<br>
Win32 GUI was checking for a&nbsp;<span class="Special">CTRL-C</span>&nbsp;too often, making it slow.<br>
<br>
Removed mappings for MS-DOS that were already covered by commands.<br>
<br>
When visually selecting all lines in a file, cursor at last line, then &quot;J&quot;.<br>
Gave ml_get errors.&nbsp;&nbsp;Was a problem with scrolling down during redrawing.<br>
<br>
When doing a linewise operator, and then an operator with a mouse click, it<br>
was also linewise, instead of characterwise.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is set, the column of the ruler was wrong.<br>
<br>
Spurious error message for &quot;/\(b\+\)*&quot;.<br>
<br>
When visually selected many lines, message from &quot;:w file&quot; disappeared when<br>
redrawing the screen.<br>
<br>
&quot;:set&nbsp;<span class="Special">&lt;M-b&gt;</span>=^[b&quot;, then insert &quot;^[b&quot;, waited for another character.&nbsp;&nbsp;And then<br>
inserted &quot;<span class="Special">&lt;M-b&gt;</span>&quot; instead of the real&nbsp;<span class="Special">&lt;M-b&gt;</span>&nbsp;character.&nbsp;&nbsp;Was trying to insert<br>
K_SPECIAL x NUL.<br>
<br>
<span class="Special">CTRL-W</span>&nbsp;] didn't use count to set window height.<br>
<br>
GUI: &quot;-font&quot; command-line argument didn't override&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;setting from<br>
.gvimrc. (Acevedo)<br>
<br>
GUI: clipboard wasn't used for &quot;*y&quot;.&nbsp;&nbsp;And some more Win32/X11 differences<br>
fixed for the clipboard (Webb).<br>
<br>
Jumping from one help file to another help file, with&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;set,<br>
removed the&nbsp;<span class="MissingTag">'help'</span>&nbsp;flag from the buffer.<br>
<br>
File-writable bit could be reset when using &quot;:w!&quot; for a readonly file.<br>
<br>
There was a wait for&nbsp;<span class="Special">CTRL-O</span>&nbsp;n in Insert mode, because the search pattern was<br>
shown.<br>
Reduced wait, to allow reading a message, from 10 to 3 seconds.&nbsp;&nbsp;It seemed<br>
nothing was happening.<br>
<br>
&quot;:recover&quot; found same swap file twice.<br>
<br>
GUI: &quot;*yy only worked the second time (when pasting to an xterm).&quot;<br>
<br>
DJGPP version (dos32): The system flags were cleared.<br>
<br>
Dos32 version: Underscores were sometimes replaced with y-umlaut (Levin).<br>
<br>
Version 4.1 of ncurses can't handle tputs(&quot;&quot;, ..).&nbsp;&nbsp;Avoid calling tputs() with<br>
an empty string.<br>
<br>
<span class="Special">&lt;S-Tab&gt;</span>&nbsp;in the command-line worked like&nbsp;<span class="Special">CTRL-P</span>&nbsp;when no completion started yet.<br>
Now it does completion, last match first.<br>
<br>
Unix: Could get annoying &quot;can't write viminfo&quot; message after doing &quot;su&quot;.&nbsp;&nbsp;Now<br>
the viminfo file is overwritten, and the user set back to the original one.<br>
<br>
&quot;:set term=builtin_gui&quot; started the GUI in a wrong way.&nbsp;&nbsp;Now it's not<br>
allowed anymore.&nbsp;&nbsp;But &quot;vim -T gui&quot; does start the GUI correctly now.<br>
<br>
GUI: Triple click after a line only put last char in selection, when it is a<br>
single character word.<br>
<br>
When the window is bigger than the screen, the scrolling up of messages was<br>
wrong (e.g. &quot;:vers&quot;, &quot;:hi&quot;).&nbsp;&nbsp;Also when the bottom part of the window was<br>
obscured by another window.<br>
<br>
When using a wrong option only an error message is printed, to avoid that the<br>
usage information makes it scroll off the screen.<br>
<br>
When exiting because of not being able to read from stdin, didn't preserve the<br>
swap files properly.<br>
<br>
Visual selecting all chars in more than one line, then hit &quot;x&quot; didn't leave an<br>
empty line.&nbsp;&nbsp;For one line it did leave an empty line.<br>
<br>
Message for which autocommand is executing messed up file write message (for<br>
FileWritePost event).<br>
<br>
&quot;vim -h&quot; included &quot;-U&quot; even when GUI is not available, and &quot;-l&quot; when lisp is<br>
not available.<br>
<br>
Crash for &quot;:he&nbsp;<span class="Special">&lt;C-A&gt;</span>&quot; (command-line longer than screen).<br>
<br>
&quot;:s/this/that/gc&quot;, type &quot;y&quot; two times, then undo, did reset the modified<br>
option, even though the file is still modified.<br>
<br>
Empty lines in a tags file caused a &quot;:tag&quot; to be aborted.<br>
<br>
When hitting 'q' at the more prompt for &quot;:menu&quot;, still scrolled a few lines.<br>
<br>
In an xterm that uses the bold trick a single row of characters could remain<br>
after an erased bold character.&nbsp;&nbsp;Now erase one extra char after the bold char,<br>
like for the GUI.<br>
<br>
&quot;:pop!&quot; didn't work.<br>
<br>
When the reading a buffer was interrupted, &quot;:w&quot; should not be able to<br>
overwrite the file, &quot;:w!&quot; is required.<br>
<br>
&quot;:cf%&quot; caused a crash.<br>
<br>
&quot;:gui longfilename&quot;, when forking is enabled, could leave part of the<br>
longfilename at the shell prompt.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.1" name="version-5.1">version-5.1</a><br>
<br>
Improvements made between version 5.0 and 5.1.<br>
<br>
This was mostly a bug-fix release, not many new features.<br>
<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.1" name="changed-5.1">changed-5.1</a><br>
<span class="PreProc">-------</span><br>
<br>
The expand() function now separates file names with&nbsp;<span class="Special">&lt;NL&gt;</span>&nbsp;instead of a space.<br>
This avoids problems for file names with embedded spaces.&nbsp;&nbsp;To get the old<br>
result, use substitute(expand(foo), &quot;\n&quot;, &quot; &quot;, &quot;g&quot;).<br>
<br>
For Insert-expanding dictionaries allow a backslash to be used for<br>
wildchars.&nbsp;&nbsp;Allows expanding &quot;ze\kra&quot;, when&nbsp;<a class="Type" href="options.html#'isk'">'isk'</a>&nbsp;includes a backslash.<br>
<br>
New icon for the Win32 GUI.<br>
<br>
&quot;:tag&quot;, &quot;:tselect&quot; etc. only use the argument as a regexp when it starts<br>
with '/'.&nbsp;&nbsp;Avoids that &quot;:tag xx~&quot; gives an error message: &quot;No previous sub.<br>
regexp&quot;.&nbsp;&nbsp;Also, when the :tag argument contained wildcard characters, it was<br>
not Vi compatible.<br>
When using '/', the argument is taken literally too, with a higher priority,<br>
so it's found before wildcard matches.<br>
Only when the '/' is used are matches with different case found, even though<br>
<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>&nbsp;isn't set.<br>
Changed &quot;g^]&quot; to only do &quot;:tselect&quot; when there is more than on matching tag.<br>
<br>
Changed some of the default colors, because they were not very readable on a<br>
dark background.<br>
<br>
A character offset to a search pattern can move the cursor to the next or<br>
previous line.&nbsp;&nbsp;Also fixes that &quot;/pattern/e+2&quot; got stuck on &quot;pattern&quot; at the<br>
end of a line.<br>
<br>
Double-clicks in the status line do no longer start Visual mode.&nbsp;&nbsp;Dragging a<br>
status line no longer stops Visual mode.<br>
<br>
Perl interface: Buffers() and Windows() now use more logical arguments, like<br>
they are used in the rest of Vim (Moore).<br>
<br>
Init '&quot; mark to the first character of the first line.&nbsp;&nbsp;Makes it possible to<br>
use '&quot; in an autocommand without getting an error message.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.1" name="added-5.1">added-5.1</a><br>
<span class="PreProc">-----</span><br>
<br>
&quot;shell_error&quot; internal variable: result of last shell command.<br>
<br>
&quot;:echohl&quot; command: Set highlighting for &quot;:echo&quot;.<br>
<br>
'S' flag in&nbsp;<a class="Type" href="options.html#'highlight'">'highlight'</a>&nbsp;and StatusLineNC highlight group: highlighting for<br>
status line of not-current window.&nbsp;&nbsp;Default is to use bold for current<br>
window.<br>
<br>
Added buffer_name() and buffer_number() functions (Aaron).<br>
Added flags argument &quot;g&quot; to substitute() function (Aaron).<br>
Added winheight() function.<br>
<br>
Win32: When an external command starts with &quot;start &quot;, no console is opened<br>
for it (Aaron).<br>
<br>
Win32 console: Use termcap codes for bold/reverse based on the current<br>
console attributes.<br>
<br>
Configure check for &quot;strip&quot;. (Napier)<br>
<br>
<span class="Special">CTRL-R</span>&nbsp;<span class="Special">CTRL-R</span>&nbsp;x in Insert mode: Insert the contents of a register literally,<br>
instead of as typed.<br>
<br>
Made a few &quot;No match&quot; error messages more informative by adding the pattern<br>
that didn't match.<br>
<br>
&quot;make install&quot; now also copies the macro files.<br>
<br>
tools/tcltags, a shell script to generate a tags file from a TCL file.<br>
<br>
&quot;--with-tlib&quot; setting for configure.&nbsp;&nbsp;Easy way to use termlib: &quot;./configure<br>
--with-tlib=termlib&quot;.<br>
<br>
'u' flag in&nbsp;<a class="Type" href="options.html#'cino'">'cino'</a>&nbsp;for setting the indent for contained () parts.<br>
<br>
When Win32 OLE version can't load the registered type library, ask the user<br>
if he wants to register Vim now. (Erhardt)<br>
Win32 with OLE: When registered automatically, exit Vim.<br>
Included VisVim 1.1b, with a few enhancements and the new icon (Heiko<br>
Erhardt).<br>
<br>
Added patch from Vince Negri for Win32s support.&nbsp;&nbsp;Needs to be compiled with<br>
VC 4.1!<br>
<br>
Perl interface: Added $curbuf.&nbsp;&nbsp;Rationalized Buffers() and Windows().<br>
(Moore) Added &quot;group&quot; argument to Msg().<br>
<br>
Included Perl files in DOS source archive.&nbsp;&nbsp;Changed Makefile.bor and<br>
Makefile.w32 to support building a Win32 version with Perl included.<br>
<br>
Included new Makefile.w32 from Ken Scott.&nbsp;&nbsp;Now it's able to make all Win32<br>
versions, including OLE, Perl and Python.<br>
<br>
Added&nbsp;<span class="Special">CTRL-W</span>&nbsp;g ] and&nbsp;<span class="Special">CTRL-W</span>&nbsp;g ^]: split window and do g] or g^].<br>
<br>
Added &quot;g]&quot; to always do &quot;:tselect&quot; for the ident under the cursor.<br>
Added &quot;:tjump&quot; and &quot;:stjump&quot; commands.<br>
Improved listing of &quot;:tselect&quot; when tag names are a bit long.<br>
<br>
Included patches for the Macintosh version.&nbsp;&nbsp;Also for Python interface.<br>
(St-Amant)<br>
<br>
&quot;:buf foo&quot; now also restores cursor column, when the buffer was used before.<br>
<br>
Adjusted the Makefile for different final destinations for the syntax files<br>
and scripts (for Debian Linux).<br>
<br>
Amiga: $VIM can be used everywhere.&nbsp;&nbsp;When $VIM is not defined, &quot;VIM:&quot; is<br>
used.&nbsp;&nbsp;This fixes that &quot;VIM:&quot; had to be assigned for the help files, and<br>
$VIM set for the syntax files.&nbsp;&nbsp;Now either of these work.<br>
<br>
Some xterms send vt100 compatible function keys F1-F4.&nbsp;&nbsp;Since it's not<br>
possible to detect this, recognize both type of keys and translate them to<br>
<span class="Special">&lt;F1&gt;</span>&nbsp;-&nbsp;<span class="Special">&lt;F4&gt;</span>.<br>
<br>
Added &quot;VimEnter&quot; autocommand.&nbsp;&nbsp;Executed after loading all the startup stuff.<br>
<br>
BeOS version now also runs on Intel CPUs (Seibert).<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.1" name="fixed-5.1">fixed-5.1</a><br>
<span class="PreProc">-----</span><br>
<br>
&quot;:ts&quot; changed position in the tag stack when cancelled with&nbsp;<span class="Special">&lt;CR&gt;</span>.<br>
&quot;:ts&quot; changed the cursor position for&nbsp;<span class="Special">CTRL-T</span>&nbsp;when cancelled with&nbsp;<span class="Special">&lt;CR&gt;</span>.<br>
&quot;:tn&quot; would always jump to the second match.&nbsp;&nbsp;&nbsp;&nbsp;Was using the wrong entry in<br>
the tag stack.<br>
Doing &quot;tag foo&quot;, then &quot;:tselect&quot;, overwrote the original cursor position in<br>
the tag stack.<br>
<br>
&quot;make install&quot; changed the vim.1 manpage in a wrong way, causing &quot;doc/doc&quot;<br>
to appear for the documentation files.<br>
<br>
When compiled with MAX_FEAT, xterm mouse handling failed.&nbsp;&nbsp;Was caused by DEC<br>
mouse handling interfering.<br>
<br>
Was leaking memory when using selection in X11.<br>
<br>
<span class="Special">CTRL-D</span>&nbsp;halfway a command-line left some characters behind the first line(s)<br>
of the listing.<br>
<br>
When expanding directories for &quot;:set path=&quot;, put two extra backslashes<br>
before a space in a directory name.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'lisp'">'lisp'</a>&nbsp;set, first line of a function would be indented.&nbsp;&nbsp;Now its indent<br>
is set to zero.&nbsp;&nbsp;And use the indent of the first previous line that is at<br>
the same () level.&nbsp;&nbsp;Added test33.<br>
<br>
&quot;so<span class="Special">&lt;Esc&gt;</span>u&quot; in an empty file didn't work.<br>
<br>
DOS: &quot;seek error in swap file write&quot; errors, when using DOS 6.2 share.exe,<br>
because the swap file was made hidden.&nbsp;&nbsp;It's no longer hidden.<br>
<br>
&quot;:global&quot; command would sometimes not execute on a matching line.&nbsp;&nbsp;Happened<br>
when a data block is full in ml_replace().<br>
<br>
For AIX use a tgetent buffer of 2048 bytes, instead of 1024.<br>
<br>
Win32 gvim now only sets the console size for external commands to 25x80<br>
on Windows 95, not on NT.<br>
<br>
Win32 console: Dead key could cause a crash, because of a missing &quot;WINAPI&quot;<br>
(Deshpande).<br>
<br>
The right mouse button started Visual mode, even when&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;is empty, and<br>
in the command-line, a left click moved the cursor when&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;is empty.<br>
In Visual mode, 'n' in&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;would be used instead of 'v'.<br>
<br>
A blinking cursor or focus change cleared a non-Visual selection.<br>
<br>
<span class="Special">CTRL-H</span>ome and&nbsp;<span class="Special">CTRL-E</span>nd didn't work for MS-DOS versions.<br>
<br>
Could include NUL in&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>, causing a crash when doing insert mode<br>
completion.<br>
<br>
Use _dos_commit() to flush the swap file to disk for MSDOS 16 bit version.<br>
<br>
In mappings,&nbsp;<span class="Special">CTRL-H</span>&nbsp;was replaced by the backspace key code.&nbsp;&nbsp;This caused<br>
problems when it was used as text, e.g. &quot;:map _U :%s/.^H//g<span class="Special">&lt;CR&gt;</span>&quot;.<br>
<br>
&quot;:set t_Co=0&quot; was not handled like a normal term.&nbsp;&nbsp;Now it's translated into<br>
&quot;:set t_Co=&quot;, which works.<br>
<br>
For &quot;:syntax keyword&quot; the &quot;transparent&quot; option did work, although not<br>
mentioned in the help.&nbsp;&nbsp;But synID() returned wrong name.<br>
<br>
&quot;gqG&quot; in a file with one-word-per-line (e.g. a dictionary) was very slow and<br>
not interruptible.<br>
<br>
&quot;gq&quot; operator inserted screen lines in the wrong situation.&nbsp;&nbsp;Now screen<br>
lines are inserted or deleted when this speeds up displaying.<br>
<br>
cindent was wrong when an &quot;if&quot; contained &quot;((&quot;.<br>
<br>
'r' flag in&nbsp;<a class="Type" href="options.html#'viminfo'">'viminfo'</a>&nbsp;was not used for '%'.&nbsp;&nbsp;Could get files in the buffer<br>
list from removable media.<br>
<br>
Win32 GUI with OLE: if_ole_vc.mak could not be converted into a project.<br>
Hand-edited to fix this...<br>
<br>
With&nbsp;<a class="Type" href="options.html#'nosol'">'nosol'</a>&nbsp;set, doing &quot;$kdw&quot; below an empty line positioned the cursor at<br>
the end of the line.<br>
<br>
Dos32 version changed &quot;\dir\file&quot; into &quot;/dir/file&quot;, to work around a DJGPP<br>
bug.&nbsp;&nbsp;That bug appears to have been fixed, therefore this translation has<br>
been removed.<br>
<br>
&quot;/^*&quot; didn't work (find '*' in first column).<br>
<br>
&quot;<span class="Special">&lt;afile&gt;</span>&quot; was not always set for autocommands.&nbsp;&nbsp;E.g., for &quot;:au BufEnter *<br>
let &amp;tags = expand(&quot;<span class="Special">&lt;afile&gt;</span>:p:h&quot;) . &quot;/tags&quot;.<br>
<br>
In an xterm, the window may be a child of the outer xterm window.&nbsp;&nbsp;Use the<br>
parent window when getting the title and icon names. (Smith)<br>
<br>
When starting with &quot;gvim -bg black -fg white&quot;, the value of&nbsp;<a class="Type" href="options.html#'background'">'background'</a>&nbsp;is<br>
only set after reading the .gvimrc file.&nbsp;&nbsp;This causes a &quot;:syntax on&quot; to use<br>
the wrong colors.&nbsp;&nbsp;Now allow using &quot;:gui&quot; to open the GUI window and set the<br>
colors.&nbsp;&nbsp;Previously &quot;:gui&quot; in a gvimrc crashed Vim.<br>
<br>
tempname() returned the same name all the time, unless the file was actually<br>
created.&nbsp;&nbsp;Now there are at least 26 different names.<br>
<br>
File name used for&nbsp;<span class="Special">&lt;afile&gt;</span>&nbsp;was sometimes full path, sometimes file name<br>
relative to current directory.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'background'">'background'</a>&nbsp;was set after the GUI window was opened, it could change<br>
colors that were set by the user in the .gvimrc file.&nbsp;&nbsp;Now it only changes<br>
colors that have not been set by the user.<br>
<br>
Ignore special characters after a CSI in the GUI version.&nbsp;&nbsp;These could be<br>
interpreted as special characters in a wrong way. (St-Amant)<br>
<br>
Memory leak in farsi code, when using search or &quot;:s&quot; command.<br>
Farsi string reversing for a mapping was only done for new mappings.&nbsp;&nbsp;Now it<br>
also works for replacing a mapping.<br>
<br>
Crash in Win32 when using a file name longer than _MAX_PATH. (Aaron)<br>
<br>
When BufDelete autocommands were executed, some things for the buffer were<br>
already deleted (esp. Perl stuff).<br>
<br>
Perl interface: Buffer specific items were deleted too soon; fixes &quot;screen<br>
no longer exists&quot; messages.&nbsp;&nbsp;(Moore)<br>
<br>
The Perl functions didn't set the&nbsp;<a class="Type" href="options.html#'modified'">'modified'</a>&nbsp;flag.<br>
<br>
link.sh did not return an error on exit, which may cause Vim to start<br>
installing, even though there is no executable to install. (Riehm)<br>
<br>
Vi incompatibility: In Vi &quot;.&quot; redoes the &quot;y&quot; command.&nbsp;&nbsp;Added the 'y' flag to<br>
<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>.&nbsp;&nbsp;Only for&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;mode.<br>
<br>
&quot;:echohl&quot; defined a new group, when the argument was not an existing group.<br>
<br>
&quot;syn on&quot; and &quot;:syn off&quot; could move the cursor, if there is a hidden buffer<br>
that is shorter that the current cursor position.<br>
<br>
The &quot; mark was not set when doing &quot;:b file&quot;.<br>
<br>
When a &quot;nextgroup&quot; is used with &quot;skipwhite&quot; in syntax highlighting, space at<br>
the end of the line made the nextgroup also be found in the next line.<br>
<br>
&quot;:he g<span class="Special">&lt;CTRL-D&gt;</span>&quot;, then &quot;:&quot; and backspace to the start didn't redraw.<br>
<br>
X11 GUI: &quot;gvim -rv&quot; reversed the colors twice on Sun.&nbsp;&nbsp;Now Vim checks if the<br>
result is really reverse video (background darker than foreground).<br>
<br>
&quot;cat link.sh | vim -&quot; didn't set syntax highlighting.<br>
<br>
Win32: Expanding &quot;file.sw?&quot; matched &quot;.file.swp&quot;.&nbsp;&nbsp;This is an error of<br>
FindnextFile() that we need to work around.&nbsp;&nbsp;(Kilgore)<br>
<br>
&quot;gqgq&quot; gave an &quot;Invalid lnum&quot; error on the last line.<br>
Formatting with &quot;gq&quot; didn't format the first line after a change of comment<br>
leader.<br>
<br>
There was no check for out-of-memory in win_alloc().<br>
<br>
&quot;vim -h&quot; didn't mention &quot;-register&quot; and &quot;-unregister&quot; for the OLE version.<br>
<br>
Could not increase&nbsp;<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a>&nbsp;when the last window is only one line.&nbsp;&nbsp;Now<br>
other windows are also made smaller, when necessary.<br>
<br>
Added a few {} to avoid &quot;suggest braces around&quot; warnings from gcc 2.8.x.<br>
Changed return type of main() from void to int. (Nam)<br>
<br>
Using '~' twice in a substitute pattern caused a crash.<br>
<br>
&quot;syn on&quot; and &quot;:syn off&quot; could scroll the window, if there is a hidden buffer<br>
that is shorter that the current cursor position.<br>
<br>
&quot;:if 0 | if 1 | endif | endif&quot; didn't work.&nbsp;&nbsp;Same for &quot;:while&quot; and &quot;elseif&quot;.<br>
<br>
With two windows on modified files, with&nbsp;<a class="Type" href="options.html#'autowrite'">'autowrite'</a>&nbsp;set, cursor in second<br>
window, &quot;:qa&quot; gave a warning for the file in the first window, but then<br>
auto-wrote the file in the second window. (Webb)<br>
<br>
Win32 GUI scrollbar could only handle 32767 lines.&nbsp;&nbsp;Also makes the<br>
intellimouse wheel use the configurable number of scrolls. (Robinson)<br>
<br>
When using&nbsp;<a class="Type" href="options.html#'patchmode'">'patchmode'</a>, and the backup file is on another partition, the file<br>
copying messed up the write-file message.<br>
<br>
GUI X11: Alt-Backspace and Alt-Delete didn't work.<br>
<br>
&quot;`0&quot; could put the cursor after the last character in the line, causing<br>
trouble for other commands, like &quot;i&quot;.<br>
<br>
When completing tags in insert mode with ^X^], some matches were skipped,<br>
because the compare with other tags was wrong.&nbsp;&nbsp;E.g., when &quot;mnuFileSave&quot; was<br>
already there, &quot;mnuFile&quot; would be skipped. (Negri)<br>
<br>
When scrolling up/down, a syntax item with &quot;keepend&quot; didn't work properly.<br>
Now the flags are also stored for the syntax state at the start of each line.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'ic'">'ic'</a>&nbsp;was changed while&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;is on, there was no redraw to show the<br>
effect.<br>
<br>
Win32 GUI: Don't display &quot;No write since last chance&quot; in a message box, but in<br>
the Vim window.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.2" name="version-5.2">version-5.2</a><br>
<br>
Improvements made between version 5.1 and 5.2.<br>
<br>
<br>
Long lines editable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#long-lines" name="long-lines">long-lines</a><br>
<span class="PreProc">-------------------</span><br>
<br>
A single long line that doesn't fit in the window doesn't show a line of @@@<br>
anymore.&nbsp;&nbsp;Redrawing starts at a character further on in the line, such that<br>
the text around the cursor can be seen.&nbsp;&nbsp;This makes it possible to edit these<br>
long lines when wrapping is on.<br>
<br>
<br>
File browser added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#file-browser-5.2" name="file-browser-5.2">file-browser-5.2</a><br>
<span class="PreProc">------------------</span><br>
<br>
The Win32, Athena and Motif GUI bring up a file requester if the user asks to<br>
&quot;:browse&quot; for the &quot;:e&quot;, &quot;:w&quot;, &quot;:r&quot;, &quot;:so&quot;, &quot;:redirect&quot; and<br>
&quot;:mkexrc/vimrc/vsess&quot; commands.&nbsp;&nbsp;&quot;:browse e /foo/bar&quot; opens the requester in<br>
the /foo/bar directory, so you can have nice mapping rhs's like &quot;:browse so<br>
$vim/macros&quot;.&nbsp;&nbsp;If no initial dir specified for &quot;:browse e&quot;, can be compiled to<br>
either begin in the current directory, or that of the current buffer. (Negri<br>
and Kahn)<br>
Added the&nbsp;<a class="Type" href="options.html#'browsedir'">'browsedir'</a>&nbsp;option, with value &quot;current&quot;, &quot;last&quot; or &quot;buffer&quot;.&nbsp;&nbsp;Tells<br>
whether a browse dialog starts in last used dir, dir of current buffer, or<br>
current dir.&nbsp;&nbsp;&quot;:browse w&quot; is unaffected.<br>
The default menus have been changed to use the &quot;:browse&quot; command.<br>
<br>
<br>
Dialogs added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#dialogs-added" name="dialogs-added">dialogs-added</a><br>
<span class="PreProc">-------------</span><br>
<br>
Added the &quot;:confirm&quot; command.&nbsp;&nbsp;Works on &quot;:e&quot;, &quot;:q&quot;, &quot;:w&quot;, &quot;:cl&quot;.&nbsp;&nbsp;Win32,<br>
Athena and Motif GUI uses a window-dialog.&nbsp;&nbsp;All other platforms can use<br>
prompt in command-line.&nbsp;&nbsp;&quot;:confirm qa&quot; offers a choice to save all modified<br>
files.<br>
<br>
confirm() function: allows user access to the confirm engine.<br>
<br>
Added 'v' flag to&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>.&nbsp;&nbsp;When included, a vertical button layout is<br>
always used for the Win32 GUI dialog.&nbsp;&nbsp;Otherwise, a horizontal layout is<br>
preferred.<br>
<br>
Win32 GUI: &quot;:promptfind&quot; and &quot;:promptrepl&quot; pop up a dialog to find/replace.<br>
To be used from a menu entry. (Negri)<br>
<br>
<br>
Popup menu added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#popup-menu-added" name="popup-menu-added">popup-menu-added</a><br>
<span class="PreProc">----------------</span><br>
<br>
When the&nbsp;<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a>&nbsp;option is set to &quot;popup&quot;, the right mouse button<br>
displays the top level menu headed with &quot;PopUp&quot; as pop-up context menu.&nbsp;&nbsp;The<br>
&quot;PopUp&quot; menu is not displayed in the normal menu bar.&nbsp;&nbsp;This currently only<br>
works for Win32 and Athena GUI.<br>
<br>
<br>
Select mode added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-Select-mode" name="new-Select-mode">new-Select-mode</a><br>
<span class="PreProc">-----------------</span><br>
<br>
A new mode has been added: &quot;Select mode&quot;.&nbsp;&nbsp;It is like Visual mode, but typing<br>
a printable character replaces the selection.<br>
-&nbsp;<span class="Special">CTRL-G</span>&nbsp;can be used to toggle between Visual mode and Select mode.<br>
-&nbsp;<span class="Special">CTRL-O</span>&nbsp;can be used to switch from Select mode to Visual mode for one command.<br>
- Added&nbsp;<a class="Type" href="options.html#'selectmode'">'selectmode'</a>&nbsp;option: tells when to start Select mode instead of Visual<br>
&nbsp;&nbsp;mode.<br>
- Added&nbsp;<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a>&nbsp;option: Change use of mouse buttons.<br>
- Added&nbsp;<a class="Type" href="options.html#'keymodel'">'keymodel'</a>&nbsp;option: tells to use shifted special keys to start a<br>
&nbsp;&nbsp;Visual or Select mode selection.<br>
- Added &quot;:behave&quot;.&nbsp;&nbsp;Can be used to quickly set&nbsp;<a class="Type" href="options.html#'selectmode'">'selectmode'</a>,&nbsp;<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a><br>
&nbsp;&nbsp;and&nbsp;<a class="Type" href="options.html#'keymodel'">'keymodel'</a>&nbsp;for MS-Windows and xterm behavior.<br>
- The xterm-like selection is now called modeless selection.<br>
- Visual mode mappings and menus are used in Select mode.&nbsp;&nbsp;They automatically<br>
&nbsp;&nbsp;switch to Visual mode first.&nbsp;&nbsp;Afterwards, reselect the area, unless it was<br>
&nbsp;&nbsp;deleted.&nbsp;&nbsp;The &quot;gV&quot; command can be used in a mapping to skip the reselection.<br>
- Added the &quot;gh&quot;, &quot;gH&quot; and &quot;g^H&quot; commands: start Select (highlight) mode.<br>
- Backspace in Select mode deletes the selected area.<br>
<br>
&quot;mswin.vim&quot; script.&nbsp;&nbsp;Sets behavior mostly like MS-Windows.<br>
<br>
<br>
Session files added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-session-files" name="new-session-files">new-session-files</a><br>
<span class="PreProc">-------------------</span><br>
<br>
&quot;:mks[ession]&quot; acts like &quot;mkvimrc&quot;, but also writes the full filenames of the<br>
currently loaded buffers and current directory, so that :so'ing the file<br>
re-loads those files and cd's to that directory.&nbsp;&nbsp;Also stores and restores<br>
windows.&nbsp;&nbsp;File names are made relative to session file.<br>
The&nbsp;<a class="Type" href="options.html#'sessionoptions'">'sessionoptions'</a>&nbsp;option sets behavior of &quot;:mksession&quot;. (Negri)<br>
<br>
<br>
User defined functions and commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-user-defined" name="new-user-defined">new-user-defined</a><br>
<span class="PreProc">-----------------------------------</span><br>
<br>
Added user defined functions.&nbsp;&nbsp;Defined with &quot;:function&quot; until &quot;:endfunction&quot;.<br>
Called with &quot;Func()&quot;.&nbsp;&nbsp;Allows the use of a variable number of arguments.<br>
Included support for local variables &quot;l:name&quot;.&nbsp;&nbsp;Return a value with &quot;:return&quot;.<br>
See&nbsp;<a class="Identifier" href="eval.html#:function">:function</a>.<br>
Call a function with &quot;:call&quot;.&nbsp;&nbsp;When using a range, the function is called for<br>
each line in the range.&nbsp;<a class="Identifier" href="eval.html#:call">:call</a><br>
&quot;macros/justify.vim&quot; is an example of using user defined functions.<br>
User functions do not change the last used search pattern or the command to be<br>
redone with &quot;.&quot;.<br>
<a class="Type" href="options.html#'maxfuncdepth'">'maxfuncdepth'</a>&nbsp;option.&nbsp;&nbsp;Restricts the depth of function calls.&nbsp;&nbsp;Avoids trouble<br>
(crash because of out-of-memory) when a function uses endless recursion.<br>
<br>
User definable Ex commands: &quot;:command&quot;, &quot;:delcommand&quot; and &quot;:comclear&quot;.<br>
(Moore)&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="map.html#user-commands">user-commands</a>.<br>
<br>
<br>
New interfaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#interfaces-5.2" name="interfaces-5.2">interfaces-5.2</a><br>
<span class="PreProc">--------------</span><br>
<br>
Tcl interface. (Wilken)&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="if_tcl.html#tcl">tcl</a>.<br>
Uses the &quot;:tcl&quot;, &quot;:tcldo&quot; and &quot;tclfile&quot; commands.<br>
<br>
Cscope support. (Kahn) (Sekera)&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="if_cscop.html#cscope">cscope</a>.<br>
Uses the &quot;:cscope&quot; and &quot;:cstag&quot; commands.&nbsp;&nbsp;Uses the options&nbsp;<a class="Type" href="options.html#'cscopeprg'">'cscopeprg'</a>,<br>
<a class="Type" href="options.html#'cscopetag'">'cscopetag'</a>,&nbsp;<a class="Type" href="options.html#'cscopetagorder'">'cscopetagorder'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'cscopeverbose'">'cscopeverbose'</a>.<br>
<br>
<br>
New ports&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#ports-5.2" name="ports-5.2">ports-5.2</a><br>
<span class="PreProc">---------</span><br>
<br>
Amiga GUI port. (Nielsen)&nbsp;&nbsp;Not tested much yet!<br>
<br>
RISC OS version. (Thomas Leonard)&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="os_risc.html#riscos">riscos</a>.<br>
This version can run either with a GUI or in text mode, depending upon where<br>
it is invoked.<br>
Deleted the &quot;os_archie&quot; files, they were not working anyway.<br>
<br>
<br>
Multi-byte support&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-multi-byte" name="new-multi-byte">new-multi-byte</a><br>
<span class="PreProc">------------------</span><br>
<br>
MultiByte support for Win32 GUI. (Baek)<br>
The&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>&nbsp;option decides how the text in the file is encoded.<br>
&quot;:ascii&quot; works for multi-byte characters.&nbsp;&nbsp;Multi-byte characters work on<br>
Windows 95, even when using the US version. (Aaron)<br>
Needs to be enabled in feature.h.<br>
This has not been tested much yet!<br>
<br>
<br>
New functions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-functions-5.2" name="new-functions-5.2">new-functions-5.2</a><br>
<span class="PreProc">-------------</span><br>
<br>
<a class="Identifier" href="eval.html#browse()">browse()</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;puts up a file requester when available. (Negri)<br>
<a class="Identifier" href="eval.html#escape()">escape()</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;escapes characters in a string with a backslash.<br>
<a class="Identifier" href="eval.html#fnamemodify()">fnamemodify()</a>&nbsp;modifies a file name.<br>
<a class="Identifier" href="eval.html#input()">input()</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; asks the user to enter a line. (Aaron)&nbsp;&nbsp;There is a separate<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;history for lines typed for the input() function.<br>
<a class="Identifier" href="eval.html#argc()">argc()</a><br>
<a class="Identifier" href="eval.html#argv()">argv()</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;can be used to access the argument list.<br>
<a class="Identifier" href="eval.html#winbufnr()">winbufnr()</a>&nbsp;&nbsp;&nbsp;&nbsp;buffer number of a window. (Aaron)<br>
<a class="Identifier" href="eval.html#winnr()">winnr()</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window number. (Aaron)<br>
<a class="Identifier" href="eval.html#matchstr()">matchstr()</a>&nbsp;&nbsp;&nbsp;&nbsp;Return matched string.<br>
<a class="Identifier" href="eval.html#setline()">setline()</a>&nbsp;&nbsp;&nbsp;&nbsp; Set a line to a string value.<br>
<br>
<br>
New options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-options-5.2" name="new-options-5.2">new-options-5.2</a><br>
<span class="PreProc">-----------</span><br>
<br>
<a class="Type" href="options.html#'allowrevins'">'allowrevins'</a>&nbsp;&nbsp; Enable the&nbsp;<span class="Special">CTRL-_</span>&nbsp;command in Insert and Command-line mode.<br>
<a class="Type" href="options.html#'browsedir'">'browsedir'</a>&nbsp;&nbsp;&nbsp;&nbsp; Tells in which directory a browse dialog starts.<br>
<a class="Type" href="options.html#'confirm'">'confirm'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when set, :q :w and :e commands always act as if &quot;:confirm&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is used.&nbsp;&nbsp;(Negri)<br>
<a class="Type" href="options.html#'cscopeprg'">'cscopeprg'</a><br>
<a class="Type" href="options.html#'cscopetag'">'cscopetag'</a><br>
<a class="Type" href="options.html#'cscopetagorder'">'cscopetagorder'</a><br>
<a class="Type" href="options.html#'cscopeverbose'">'cscopeverbose'</a>&nbsp;Set the&nbsp;<a class="Identifier" href="if_cscop.html#cscope">cscope</a>&nbsp;behavior.<br>
<a class="Type" href="options.html#'filetype'">'filetype'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RISC-OS specific type of file.<br>
<a class="Type" href="options.html#'grepformat'">'grepformat'</a><br>
<a class="Type" href="options.html#'grepprg'">'grepprg'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For the&nbsp;<a class="Identifier" href="quickfix.html#:grep">:grep</a>&nbsp;command.<br>
<a class="Type" href="options.html#'keymodel'">'keymodel'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tells to use shifted special keys to start a Visual or Select<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode selection.<br>
<a class="Type" href="options.html#'listchars'">'listchars'</a>&nbsp;&nbsp;&nbsp;&nbsp; Set character to show in&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;mode for end-of-line, tabs and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trailing spaces. (partly by Smith) Also sets character to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display if a line doesn't fit when&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;is set.<br>
<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>&nbsp;&nbsp;&nbsp;&nbsp;Allows matching '&lt;' with '&gt;', and other single character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pairs.<br>
<a class="Type" href="options.html#'mousefocus'">'mousefocus'</a>&nbsp;&nbsp;&nbsp;&nbsp;Window focus follows mouse (partly by Terhaar).&nbsp;&nbsp;Changing the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;focus with a keyboard command moves the pointer to that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.&nbsp;&nbsp;Also move the pointer when changing the window layout<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(split window, change window height, etc.).<br>
<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a>&nbsp;&nbsp;&nbsp;&nbsp;Change use of mouse buttons.<br>
<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;&nbsp;&nbsp;&nbsp; When set to &quot;inclusive&quot; or &quot;exclusive&quot;, the cursor can go one<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character past the end of the line in Visual or Select mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When set to &quot;old&quot; the old behavior is used.&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;inclusive&quot;, the character under the cursor is included in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;operation.&nbsp;&nbsp;When using &quot;exclusive&quot;, the new &quot;ve&quot; entry of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'guicursor'">'guicursor'</a>&nbsp;is used.&nbsp;&nbsp;The default is a vertical bar.<br>
<a class="Type" href="options.html#'selectmode'">'selectmode'</a>&nbsp;&nbsp;&nbsp;&nbsp;Tells when to start Select mode instead of Visual mode.<br>
<a class="Type" href="options.html#'sessionoptions'">'sessionoptions'</a>&nbsp;Sets behavior of &quot;:mksession&quot;. (Negri)<br>
<a class="Type" href="options.html#'showfulltag'">'showfulltag'</a>&nbsp;&nbsp; When completing a tag in Insert mode, show the tag search<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pattern (tidied up) as a choice as well (if there is one).<br>
<a class="Type" href="options.html#'swapfile'">'swapfile'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether to use a swap file for a buffer.<br>
<a class="Type" href="options.html#'syntax'">'syntax'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When it is set, the syntax by that name is loaded.&nbsp;&nbsp;Allows for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setting a specific syntax from a modeline.<br>
<a class="Type" href="options.html#'ttymouse'">'ttymouse'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allows using xterm mouse codes for terminals which name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doesn't start with &quot;xterm&quot;.<br>
<a class="Type" href="options.html#'wildignore'">'wildignore'</a>&nbsp;&nbsp;&nbsp;&nbsp;List of patterns for files that should not be completed at<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all.<br>
<a class="Type" href="options.html#'wildmode'">'wildmode'</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Can be used to set the type of expansion for&nbsp;<a class="Type" href="options.html#'wildchar'">'wildchar'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replaces the&nbsp;<span class="Special">CTRL-T</span>&nbsp;command for command line completion.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't beep when listing all matches.<br>
<a class="Type" href="options.html#'winaltkeys'">'winaltkeys'</a>&nbsp;&nbsp;&nbsp;&nbsp;Win32 and Motif GUI.&nbsp;&nbsp;When &quot;yes&quot;, ALT keys are handled<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;entirely by the window system.&nbsp;&nbsp;When &quot;no&quot;, ALT keys are never<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used by the window system.&nbsp;&nbsp;When &quot;menu&quot; it depends on whether<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a key is a menu shortcut.<br>
<a class="Type" href="options.html#'winminheight'">'winminheight'</a>&nbsp;&nbsp;Minimal height for each window.&nbsp;&nbsp;Default is 1.&nbsp;&nbsp;Set to 0 if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;you want zero-line windows.&nbsp;&nbsp;Scrollbar is removed for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zero-height windows. (Negri)<br>
<br>
<br>
<br>
New Ex commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-ex-commands-5.2" name="new-ex-commands-5.2">new-ex-commands-5.2</a><br>
<span class="PreProc">---------------</span><br>
<br>
<a class="Identifier" href="windows.html#:badd">:badd</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Add file name to buffer list without side effects.&nbsp;&nbsp;(Negri)<br>
<a class="Identifier" href="gui.html#:behave">:behave</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Quickly set MS-Windows or xterm behavior.<br>
<a class="Identifier" href="editing.html#:browse">:browse</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Use file selection dialog.<br>
<a class="Identifier" href="eval.html#:call">:call</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Call a function, optionally with a range.<br>
<a class="Identifier" href="quickfix.html#:cnewer">:cnewer</a><br>
<a class="Identifier" href="quickfix.html#:colder">:colder</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To access a stack of quickfix error lists.<br>
<a class="Identifier" href="map.html#:comclear">:comclear</a>&nbsp;&nbsp;&nbsp;&nbsp; Clear all user-defined commands.<br>
<a class="Identifier" href="map.html#:command">:command</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Define a user command.<br>
<a class="Identifier" href="eval.html#:continue">:continue</a>&nbsp;&nbsp;&nbsp;&nbsp; Go back to &quot;:while&quot;.<br>
<a class="Identifier" href="editing.html#:confirm">:confirm</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ask confirmation if something unexpected happens.<br>
<a class="Identifier" href="if_cscop.html#:cscope">:cscope</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Execute cscope command.<br>
<a class="Identifier" href="if_cscop.html#:cstag">:cstag</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use cscope to jump to a tag.<br>
<a class="Identifier" href="map.html#:delcommand">:delcommand</a>&nbsp;&nbsp; Delete a user-defined command.<br>
<a class="Identifier" href="eval.html#:delfunction">:delfunction</a>&nbsp;&nbsp;Delete a user-defined function.<br>
<a class="Identifier" href="eval.html#:endfunction">:endfunction</a>&nbsp;&nbsp;End of user-defined function.<br>
<a class="Identifier" href="eval.html#:function">:function</a>&nbsp;&nbsp;&nbsp;&nbsp; Define a user function.<br>
<a class="Identifier" href="quickfix.html#:grep">:grep</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Works similar to &quot;:make&quot;. (Negri)<br>
<a class="Identifier" href="starting.html#:mksession">:mksession</a>&nbsp;&nbsp;&nbsp;&nbsp;Create a session file.<br>
<a class="Identifier" href="pattern.html#:nohlsearch">:nohlsearch</a>&nbsp;&nbsp; Stop&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;highlighting for a moment.<br>
<a class="Identifier" href="various.html#:Print">:Print</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is Vi compatible.&nbsp;&nbsp;Does the same as &quot;:print&quot;.<br>
<a class="Identifier" href="change.html#:promptfind">:promptfind</a>&nbsp;&nbsp; Search dialog (Win32 GUI).<br>
<a class="Identifier" href="change.html#:promptrepl">:promptrepl</a>&nbsp;&nbsp; Search/replace dialog (Win32 GUI).<br>
<a class="Identifier" href="eval.html#:return">:return</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Return from a user-defined function.<br>
<a class="Identifier" href="gui_w32.html#:simalt">:simalt</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Win32 GUI: Simulate alt-key pressed.&nbsp;&nbsp;(Negri)<br>
<a class="Identifier" href="change.html#:smagic">:smagic</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Like &quot;:substitute&quot;, but always use&nbsp;<a class="Type" href="options.html#'magic'">'magic'</a>.<br>
<a class="Identifier" href="change.html#:snomagic">:snomagic</a>&nbsp;&nbsp;&nbsp;&nbsp; Like &quot;:substitute&quot;, but always use&nbsp;<a class="Type" href="options.html#'nomagic'">'nomagic'</a>.<br>
<a class="Identifier" href="if_tcl.html#:tcl">:tcl</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute TCL command.<br>
<a class="Identifier" href="if_tcl.html#:tcldo">:tcldo</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute TCL command for a range of lines.<br>
<a class="Identifier" href="if_tcl.html#:tclfile">:tclfile</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute a TCL script file.<br>
<a class="Identifier" href="gui_w32.html#:tearoff">:tearoff</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tear-off a menu (Win32 GUI).<br>
<a class="Identifier" href="gui.html#:tmenu">:tmenu</a><br>
<a class="Identifier" href="gui.html#:tunmenu">:tunmenu</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: menu tooltips.&nbsp;&nbsp;(Negri)<br>
<a class="Identifier" href="repeat.html#:star">:star</a>&nbsp;:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute a register.<br>
<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.2" name="changed-5.2">changed-5.2</a><br>
<span class="PreProc">-------</span><br>
<br>
Renamed functions:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer_exists()&nbsp;&nbsp;&nbsp;&nbsp;-&gt; bufexists()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer_name()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; bufname()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer_number()&nbsp;&nbsp;&nbsp;&nbsp;-&gt; bufnr()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file_readable()&nbsp;&nbsp;&nbsp;&nbsp;-&gt; filereadable()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highlight_exists() -&gt; hlexists()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highlightID()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; hlID()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last_buffer_nr()&nbsp;&nbsp; -&gt; bufnr(&quot;$&quot;)<br>
The old ones are still there, for backwards compatibility.<br>
<br>
The&nbsp;<span class="Special">CTRL-_</span>&nbsp;command in Insert and Command-line mode is only available when the<br>
new&nbsp;<a class="Type" href="options.html#'allowrevins'">'allowrevins'</a>&nbsp;option is set.&nbsp;&nbsp;Avoids that people who want to type SHIFT-_<br>
accidentally enter reverse Insert mode, and don't know how to get out.<br>
<br>
When a file name path in &quot;:tselect&quot; listing is too long, remove a part in the<br>
middle and put &quot;...&quot; there.<br>
<br>
Win32 GUI: Made font selector appear inside Vim window, not just any odd<br>
place. (Negri)<br>
<br>
&quot;:bn&quot; skips help buffers, unless currently in a help buffer. (Negri)<br>
<br>
When there is a status line and only one window, don't show '^' in the status<br>
line of the current window.<br>
<br>
&quot;:*&quot; used to be used for &quot;'&lt;,'&gt;&quot;, the Visual area.&nbsp;&nbsp;But in Vi it's used as an<br>
alternative for &quot;:@&quot;.&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;includes '*' this is Vi compatible.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'insertmode'">'insertmode'</a>&nbsp;is set, using&nbsp;<span class="Special">CTRL-O</span>&nbsp;to execute a mapping will work like<br>
<a class="Type" href="options.html#'insertmode'">'insertmode'</a>&nbsp;was not set.&nbsp;&nbsp;This allows &quot;normal&quot; mappings to be used even when<br>
<a class="Type" href="options.html#'insertmode'">'insertmode'</a>&nbsp;is set.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;was set already (e.g., in the .vimrc file), don't automatically<br>
set&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;when the GUI starts.<br>
<br>
Removed the '<span class="Special">N</span>', 'I' and 'A' flags from the&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;option.<br>
<br>
Renamed &quot;toggle option&quot; to &quot;boolean option&quot;.&nbsp;&nbsp;Some people thought that &quot;:set<br>
xyz&quot; would toggle&nbsp;<span class="MissingTag">'xyz'</span>&nbsp;on/off each time.<br>
<br>
The internal variable &quot;shell_error&quot; contains the error code from the shell,<br>
instead of just 0 or 1.<br>
<br>
When inserting or replacing, typing&nbsp;<span class="Special">CTRL-V</span>&nbsp;<span class="Special">CTRL-&lt;</span>CR&gt; used to insert &quot;<span class="Special">&lt;C-CR&gt;</span>&quot;.<br>
That is not very useful.&nbsp;&nbsp;Now the CTRL key is ignored and a&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;is inserted.<br>
Same for all other &quot;normal&quot; keys with modifiers.&nbsp;&nbsp;Mapping these modified key<br>
combinations is still possible.<br>
In Insert mode,&nbsp;<span class="Special">&lt;C-CR&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;S-Space&gt;</span>&nbsp;can be inserted by using&nbsp;<span class="Special">CTRL-K</span>&nbsp;and then<br>
the special character.<br>
<br>
Moved &quot;quotes&quot; file to doc/quotes.txt, and &quot;todo&quot; file to doc/todo.txt.&nbsp;&nbsp;They<br>
are now installed like other documentation files.<br>
<br>
winheight() function returns -1 for a non-existing window.&nbsp;&nbsp;It used to be<br>
zero, but that is a valid height now.<br>
<br>
The default for&nbsp;<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;is &quot;inclusive&quot;, which makes a difference when<br>
using &quot;$&quot; or the mouse to move the cursor in Visual mode.<br>
<br>
&quot;:q!&quot; does not exit when there are changed buffers which are hidden.&nbsp;&nbsp;Use<br>
&quot;:qa!&quot; to exit anyway.<br>
<br>
Disabled the Perl/Python/Tcl interfaces by default.&nbsp;&nbsp;Not many people use them<br>
and they make the executable a lot bigger.&nbsp;&nbsp;The internal scripting language is<br>
now powerful enough for most tasks.<br>
<br>
The strings from the&nbsp;<a class="Type" href="options.html#'titlestring'">'titlestring'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'iconstring'">'iconstring'</a>&nbsp;options are used<br>
untranslated for the Window title and icon.&nbsp;&nbsp;This allows for including a&nbsp;<span class="Special">&lt;CR&gt;</span>.<br>
Previously a&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;would be shown as &quot;^M&quot; (two characters).<br>
<br>
When a mapping is started in Visual or Select mode which was started from<br>
Insert mode (the mode shows &quot;(insert) Visual&quot;), don't return to Insert mode<br>
until the mapping has ended.&nbsp;&nbsp;Makes it possible to use a mapping in Visual<br>
mode that also works when the Visual mode was started from Select mode.<br>
<br>
Menus in $VIMRUNTIME/menu.vim no longer overrule existing menus.&nbsp;&nbsp;This helps<br>
when defining menus in the .vimrc file, or when sourcing mswin.vim.<br>
<br>
Unix: Use /var/tmp for .swp files, if it exists.&nbsp;&nbsp;Files there survive a<br>
reboot (at least on Linux).<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.2" name="added-5.2">added-5.2</a><br>
<span class="PreProc">-----</span><br>
<br>
--with-motif-lib configure argument.&nbsp;&nbsp;Allows for using a static Motif library.<br>
<br>
Support for mapping numeric keypad +,-,*,/ keys. (Negri)<br>
When not mapped, they produce the normal character.<br>
<br>
Win32 GUI: When directory dropped on Gvim, cd there and edit new buffer.<br>
(Negri)<br>
<br>
Win32 GUI: Made&nbsp;<span class="Special">CTRL-Break</span>&nbsp;work as interrupt, so that&nbsp;<span class="Special">CTRL-C</span>&nbsp;can be<br>
used for mappings.<br>
<br>
In the output of &quot;:map&quot;, highlight the &quot;*&quot; to make clear it's not part of the<br>
rhs. (Roemer)<br>
<br>
When showing the Visual area, the cursor is not switched off, so that it can<br>
be located.&nbsp;&nbsp;The Visual area is now highlighted with a grey background in the<br>
GUI.&nbsp;&nbsp;This makes the cursor visible when it's also reversed.<br>
<br>
Win32: When started with single full pathname (e.g. via double-clicked file),<br>
cd to that file's directory. (Negri)<br>
<br>
Win32 GUI: Tear-off menus, with &quot;:tearoff&nbsp;<span class="Special">&lt;menu-name&gt;</span>&quot; command. (Negri)<br>
't' option to&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>: Add tearoff menu items for Win32 GUI and Motif.<br>
It's included by default.<br>
Win32 GUI: tearoff menu with submenus is indicated with a &quot;&gt;&gt;&quot;. (Negri)<br>
<br>
Added ^Kaa and ^KAA digraphs.<br>
Added &quot;euro&quot; symbol to digraph.c. (Corry)<br>
<br>
Support for Motif menu shortcut keys, using '&amp;' like MS-Windows (Ollis).<br>
Other GUIs ignore '&amp;' in a menu name.<br>
<br>
DJGPP: Faster screen updating (John Lange).<br>
<br>
Clustering of syntax groups &quot;:syntax cluster&quot; (Bigham).<br>
Including syntax files: &quot;:syntax include&quot; (Bigham).<br>
<br>
Keep column when switching buffers, when&nbsp;<a class="Type" href="options.html#'nosol'">'nosol'</a>&nbsp;is set (Radics).<br>
<br>
Number function for Perl interface.<br>
<br>
Support for Intellimouse in Athena GUI. (Jensen)<br>
<br>
&quot;:sleep&quot; also accepts an argument in milliseconds, when &quot;m&quot; is used.<br>
<br>
Added 'p' flag in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>: Install callbacks for enter/leave window<br>
events.&nbsp;&nbsp;Makes cursor blinking work for Terhaar, breaks it for me.<br>
<br>
&quot;--help&quot; and &quot;--version&quot; command-line arguments.<br>
<br>
Non-text in &quot;:list&quot; output is highlighted with NonText.<br>
<br>
Added text objects: &quot;i(&quot; and &quot;i)&quot; as synonym for &quot;ib&quot;.&nbsp;&nbsp;&quot;i{&quot; and &quot;i}&quot; as<br>
synonym for &quot;iB&quot;.&nbsp;&nbsp;New: &quot;i&lt;&quot; and &quot;i&gt;&quot;, to select&nbsp;<span class="Special">&lt;thing&gt;</span>.&nbsp;&nbsp;All this also for<br>
&quot;a&quot; objects.<br>
<br>
'O' flag in&nbsp;<a class="Type" href="options.html#'shortmess'">'shortmess'</a>: message for reading a file overwrites any previous<br>
message. (Negri)<br>
<br>
Win32 GUI: 'T' flag in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>: switch toolbar on/off.<br>
Included a list with self-made toolbar bitmaps.&nbsp;&nbsp;(Negri)<br>
<br>
Added menu priority for sub-menus.&nbsp;&nbsp;Implemented for Win32 and Motif GUI.<br>
Display menu priority with &quot;:menu&quot; command.<br>
Default and Syntax menus now include priority for items.&nbsp;&nbsp;Allows inserting<br>
menu items in between the default ones.<br>
<br>
When the&nbsp;<a class="Type" href="options.html#'number'">'number'</a>&nbsp;option is on, highlight line numbers with the LineNr group.<br>
<br>
&quot;Ignore&quot; highlight group: Text highlighted with this is made blank.&nbsp;&nbsp;It is<br>
used to hide special characters in the help text.<br>
<br>
Included Exuberant Ctags version 2.3, with C++ support, Java support and<br>
recurse into directories. (Hiebert)<br>
<br>
When a tags file is not sorted, and this is detected (in a simplistic way), an<br>
error message is given.<br>
<br>
&quot;:unlet&quot; accepts a &quot;!&quot;, to ignore non-existing variables, and accepts more<br>
than one argument. (Roemer)<br>
Completion of variable names for &quot;:unlet&quot;. (Roemer)<br>
<br>
When there is an error in a function which is called by another function, show<br>
the call stack in the error message.<br>
<br>
New file name modifiers:<br>
&quot;:.&quot;: reduce file name to be relative to current dir.<br>
&quot;:~&quot;: reduce file name to be relative to home dir.<br>
&quot;:s?pat?sub?&quot;: substitute &quot;pat&quot; with &quot;sub&quot; once.<br>
&quot;:gs?pat?sub?&quot;: substitute &quot;pat&quot; with &quot;sub&quot; globally.<br>
<br>
New configure arguments: --enable-min-features and --enable-max-features.<br>
Easy way to switch to minimum or maximum features.<br>
<br>
New compile-time feature: modify_fname.&nbsp;&nbsp;For file name modifiers, e.g,<br>
&quot;%:p:h&quot;.&nbsp;&nbsp;Can be disabled to save some code (16 bit DOS).<br>
<br>
When using whole-line completion in Insert mode, and&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;is set, indent<br>
the line properly.<br>
<br>
MSDOS and Win32 console:&nbsp;<a class="Type" href="options.html#'guicursor'">'guicursor'</a>&nbsp;sets cursor thickness. (Negri)<br>
<br>
Included new set of Farsi fonts. (Shiran)<br>
<br>
Accelerator text now also works in Motif.&nbsp;&nbsp;All menus can be defined with &amp; for<br>
mnemonic and TAB for accelerator text.&nbsp;&nbsp;They are ignored on systems that don't<br>
support them.<br>
When removing or replacing a menu, compare the menu name only up to the&nbsp;<span class="Special">&lt;Tab&gt;</span><br>
before the mnemonic.<br>
<br>
'i' and 'I' flags after &quot;:substitute&quot;: ignore case or not.<br>
<br>
&quot;make install&quot; complains if the runtime files are missing.<br>
<br>
Unix: When finding an existing swap file that can't be opened, mention the<br>
owner of the file in the ATTENTION message.<br>
<br>
The 'i', 't' and 'k' options in&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;now also print the place where they<br>
are looking for matches. (Acevedo)<br>
<br>
&quot;gJ&quot; command: Join lines without inserting a space.<br>
<br>
Setting&nbsp;<a class="Type" href="options.html#'keywordprg'">'keywordprg'</a>&nbsp;to &quot;man -s&quot; is handled specifically.&nbsp;&nbsp;The &quot;-s&quot; is removed<br>
when no count given, the count is added otherwise.&nbsp;&nbsp;Configure checks if &quot;man<br>
-s 2 read&quot; works, and sets the default for&nbsp;<a class="Type" href="options.html#'keywordprg'">'keywordprg'</a>&nbsp;accordingly.<br>
<br>
If you do a &quot;:bd&quot; and there is only one window open, Vim tries to move to a<br>
buffer of the same type (i.e. non-help to non-help, help to help), for<br>
consistent behavior to :bnext/:bprev. (Negri)<br>
<br>
Allow &quot;<span class="Special">&lt;Nop&gt;</span>&quot; to be used as the rhs of a mapping.&nbsp;&nbsp;&quot;:map xx&nbsp;<span class="Special">&lt;Nop&gt;</span>&quot;, maps &quot;xx&quot;<br>
to nothing at all.<br>
<br>
In a &quot;:menu&quot; command, &quot;<span class="Special">&lt;Tab&gt;</span>&quot; can be used instead of a real tab, in the menu<br>
path.&nbsp;&nbsp;This makes it more easy to type, no backslash needed.<br>
<br>
POSIX compatible character classes for regexp patterns: [:alnum:], [:alpha:],<br>
[:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:],<br>
[:space:], [:upper:] and [:xdigit:]. (Briscoe)<br>
<br>
regexp character classes (for fast syntax highlight matching):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;digits:&nbsp;&nbsp;&nbsp;&nbsp; \d&nbsp;<span class="Special">[0-9]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\D&nbsp;&nbsp;not digit (Roemer)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hex:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\x&nbsp;<span class="Special">[0-9a-fA-F]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\X&nbsp;&nbsp;not hex<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;octal:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\o&nbsp;<span class="Special">[0-7]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\O&nbsp;&nbsp;not octal<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;word:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \w&nbsp;<span class="Special">[a-zA-Z0-9_]</span>&nbsp;&nbsp;&nbsp;&nbsp; \W&nbsp;&nbsp;not word<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;head:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \h&nbsp;<span class="Special">[a-zA-Z_]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\H&nbsp;&nbsp;not head<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alphabetic: \a&nbsp;<span class="Special">[a-zA-Z]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \A&nbsp;&nbsp;not alphabetic<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lowercase:&nbsp;&nbsp;\l&nbsp;<span class="Special">[a-z]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\L&nbsp;&nbsp;not lowercase<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uppercase:&nbsp;&nbsp;\u&nbsp;<span class="Special">[A-Z]</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\U&nbsp;&nbsp;not uppercase<br>
<br>
&quot;:set&quot; now accepts &quot;+=&quot;, |^=&quot; and &quot;-=&quot;: add or remove parts of a string<br>
option, add or subtract a number from a number option.&nbsp;&nbsp;A comma is<br>
automagically inserted or deleted for options that are a comma separated list.<br>
<br>
Filetype feature, for autocommands.&nbsp;&nbsp;Uses a file type instead of a pattern to<br>
match a file.&nbsp;&nbsp;Currently only used for RISC OS.&nbsp;&nbsp;(Leonard)<br>
<br>
In a pattern for an autocommand, environment variables can be used.&nbsp;&nbsp;They are<br>
expanded when the autocommand is defined.<br>
<br>
&quot;BufFilePre&quot; and &quot;BufFilePost&quot; autocommand evens: Before and after applying<br>
the &quot;:file&quot; command to change the name of a buffer.<br>
&quot;VimLeavePre&quot; autocommand event: before writing the .viminfo file.<br>
<br>
For autocommands argument:&nbsp;<span class="Special">&lt;abuf&gt;</span>&nbsp;is buffer number, like&nbsp;<span class="Special">&lt;afile&gt;</span>.<br>
<br>
Made syntax highlighting a bit faster when scrolling backwards, by keeping<br>
more syncing context.<br>
<br>
Win32 GUI: Made scrolling faster by avoiding a redraw when deleting or<br>
inserting screen lines.<br>
<br>
GUI: Made scrolling faster by not redrawing the scrollbar when the thumb moved<br>
less than a pixel.<br>
<br>
Included &quot;:highlight&quot; in bugreport.vim.<br>
<br>
Created install.exe program, for simplistic installation on DOS and<br>
MS-Windows.<br>
<br>
New register: '_', the black hole.&nbsp;&nbsp;When writing to it, nothing happens.&nbsp;&nbsp;When<br>
reading from it, it's always empty.&nbsp;&nbsp;Can be used to avoid a delete or change<br>
command to modify the registers, or reduce memory use for big changes.<br>
<br>
<span class="Special">CTRL-V</span>&nbsp;xff enters character by hex number.&nbsp;&nbsp;<span class="Special">CTRL-V</span>&nbsp;o123 enters character by<br>
octal number. (Aaron)<br>
<br>
Improved performance of syntax highlighting by skipping check for &quot;keepend&quot;<br>
when there isn't any.<br>
<br>
Moved the mode message (&quot;-- INSERT --&quot;) to the last line of the screen.&nbsp;&nbsp;When<br>
<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a>&nbsp;is more than one, messages will remain readable.<br>
<br>
When listing matching files, they are also sorted on&nbsp;<a class="Type" href="options.html#'suffixes'">'suffixes'</a>, such that<br>
they are listed in the same order as&nbsp;<span class="Special">CTRL-N</span>&nbsp;retrieves them.<br>
<br>
synIDattr() takes a third argument (optionally), which tells for which<br>
terminal type to get the attributes for.&nbsp;&nbsp;This makes it possible to run<br>
2html.vim outside of gvim (using color names instead of #RRGGBB).<br>
<br>
Memory profiling, only for debugging.&nbsp;&nbsp;Prints at exit, and with &quot;g^A&quot; command.<br>
(Kahn)<br>
<br>
DOS: When using a file in the current drive, remove the drive name:<br>
&quot;A:\dir\file&quot; -&gt; &quot;\dir\file&quot;.&nbsp;&nbsp;This helps when moving a session file on a<br>
floppy from &quot;A:\dir&quot; to &quot;B:\dir&quot;.<br>
<br>
Increased number of remembered jumps from 30 to 50 per window.<br>
<br>
Command to temporarily disable&nbsp;<a class="Type" href="options.html#'hls'">'hls'</a>&nbsp;highlighting until the next search:<br>
&quot;:nohlsearch&quot;.<br>
<br>
&quot;gp&quot; and &quot;gP&quot; commands: like &quot;p&quot; and &quot;P&quot;, but leave the cursor just after the<br>
inserted text.&nbsp;&nbsp;Used for the&nbsp;<span class="Special">CTRL-V</span>&nbsp;command in MS-Windows mode.<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.2" name="fixed-5.2">fixed-5.2</a><br>
<span class="PreProc">-----</span><br>
<br>
Win32 GUI: Could draw text twice in one place, for fake-bold text.&nbsp;&nbsp;Removed<br>
this, Windows will handle the bold text anyway. (Negri)<br>
<br>
patch 5.1.1: Win32s GUI: pasting caused a crash (Negri)<br>
<br>
patch 5.1.2: When entering another window, where characters before the cursor<br>
have been deleted, could have a cursor beyond the end of the line.<br>
<br>
patch 5.1.3: Win32s GUI: Didn't wait for external command to finish. (Negri)<br>
<br>
patch 5.1.4: Makefile.w32 can now also be used to generate the OLE version<br>
(Scott).<br>
<br>
patch 5.1.5: Crashed when using syntax highlighting: cursor on a line that<br>
doesn't fit in the window, and splitting that line in two.<br>
<br>
patch 5.1.6: Visual highlighting bug: After &quot;:set nowrap&quot;, go to end of line<br>
(so that the window scrolls horizontally), &quot;:set wrap&quot;.&nbsp;&nbsp;Following Visual<br>
selection was wrong.<br>
<br>
patch 5.1.7: When&nbsp;<a class="Type" href="options.html#'tagbsearch'">'tagbsearch'</a>&nbsp;off, and&nbsp;<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>&nbsp;off, still could do<br>
binary searching.<br>
<br>
patch 5.1.8: Win32 GUI: dragging the scrollbar didn't update the ruler.<br>
<br>
patch 5.1.9: Using &quot;:gui&quot; in .vimrc, caused xterm cursor to disappear.<br>
<br>
patch 5.1.10: A&nbsp;<span class="Special">CTRL-N</span>&nbsp;in Insert mode could cause a crash, when a buffer<br>
without a name exists.<br>
<br>
patch 5.1.11: &quot;make test&quot; didn't work in the shadow directory.&nbsp;&nbsp;Also adjusted<br>
&quot;make shadow&quot; for the links in the ctags directory.<br>
<br>
patch 5.1.12: &quot;buf 123foo&quot; used &quot;123&quot; as a count, instead as the start of a<br>
buffer name.<br>
<br>
patch 5.1.13: When completing file names on the command-line, reallocating the<br>
command-line may go wrong.<br>
<br>
patch 5.1.14: &quot;:[nvci]unmenu&quot; removed menu for all modes, when full menu patch<br>
specified.<br>
<br>
Graceful handling of NULLs in drag-dropped file list.&nbsp;&nbsp;Handle passing NULL to<br>
Fullname_save(). (Negri)<br>
<br>
Win32: &quot;:!start&quot; to invoke a program without opening a console, swapping<br>
screens, or waiting for completion in either console or gui version, e.g. you<br>
can type &quot;:!start winfile&quot;.&nbsp;&nbsp;ALSO fixes &quot;can't delete swapfile after spawning<br>
a shell&quot; bug. (enhancement of Aaron patch) (Negri)<br>
<br>
Win32 GUI: Fix&nbsp;<span class="Special">CTRL-X</span>&nbsp;default keymapping to be more Windows-like. (Negri)<br>
<br>
Shorten filenames on startup.&nbsp;&nbsp;If in /foo/bar, entering &quot;vim ../bar/bang.c&quot;<br>
displays &quot;bang.c&quot; in status bar, not &quot;/foo/bar/bang.c&quot;&nbsp;&nbsp;(Negri)<br>
<br>
Win32 GUI: No copy to Windows clipboard when it's not desired.<br>
<br>
Win32s: Fix pasting from clipboard - made an assumption not valid under<br>
Win32s. (Negri)<br>
<br>
Win32 GUI: Speed up calls to gui_mch_draw_string() and cursor drawing<br>
functions. (Negri)<br>
<br>
Win32 GUI: Middle mouse button emulation now works in GUI! (Negri)<br>
<br>
Could skip messages when combining commands in one line, e.g.:<br>
&quot;:echo &quot;hello&quot; | write&quot;.<br>
<br>
Perl interpreter was disabled before executing VimLeave autocommands.&nbsp;&nbsp;Could<br>
not use &quot;:perl&quot; in them.&nbsp;&nbsp;(Aaron)<br>
<br>
Included patch for the Intellimouse (Aaron/Robinson).<br>
<br>
Could not set&nbsp;<a class="Type" href="options.html#'ls'">'ls'</a>&nbsp;to one, when last window has only one line.&nbsp;&nbsp;(Mitterand)<br>
<br>
Fixed a memory leak when removing menus.<br>
<br>
After &quot;:only&quot; the ruler could overwrite a message.<br>
<br>
Dos32: removed changing of __system_flags.&nbsp;&nbsp;It appears to work better when<br>
it's left at the default value.<br>
<br>
p_aleph was an int instead of along, caused trouble on systems where<br>
sizeof(int) != sizeof(long). (Schmidt)<br>
<br>
Fixed enum problems for Ultrix. (Seibert)<br>
<br>
Small redraw problem: &quot;dd&quot; on last line in file cleared wrong line.<br>
<br>
Didn't interpret &quot;cmd | endif&quot; when &quot;cmd&quot; starts with a range.&nbsp;&nbsp;E.g. &quot;if 0 |<br>
.d | endif&quot;.<br>
<br>
Command &quot;+|&quot; on the last line of the file caused ml_get errors.<br>
<br>
Memory underrun in eval_vars(). (Aaron)<br>
<br>
Don't rename files in a difficult way, except on Windows 95 (was also done on<br>
Windows NT).<br>
<br>
Win32 GUI: An external command that produces an error code put the error<br>
message in a dialog box.&nbsp;&nbsp;had to close the window and close the dialog.&nbsp;&nbsp;Now<br>
the error code is displayed in the console. (Negri)<br>
<br>
&quot;comctl32.lib&quot; was missing from the GUI libraries in Makefile.w32. (Battle)<br>
<br>
In Insert mode, when entering a window in Insert mode, allow the cursor to be<br>
one char beyond the text.<br>
<br>
Renamed machine dependent rename() to mch_rename().&nbsp;&nbsp;Define mch_rename() to<br>
rename() when it works properly.<br>
<br>
Rename vim_chdir() to mch_chdir(), because it's machine dependent.<br>
<br>
When using an arglist, and editing file 5 of 4, &quot;:q&quot; could cause &quot;-1 more<br>
files to edit&quot; error.<br>
<br>
In if_python.c, VimCommand() caused an assertion when a do_cmdline() failed.<br>
Moved the Python_Release_Vim() to before the VimErrorCheck().&nbsp;&nbsp;(Harkins)<br>
<br>
Give an error message for an unknown argument after &quot;--&quot;.&nbsp;&nbsp;E.g. for &quot;vim<br>
--xyz&quot;.<br>
<br>
The FileChangedShell autocommand didn't set&nbsp;<span class="Special">&lt;afile&gt;</span>&nbsp;to the name of the changed<br>
file.<br>
<br>
When doing &quot;:e file&quot;, causing the attention message, there sometimes was no<br>
hit-enter prompt.&nbsp;&nbsp;Caused by empty line or &quot;endif&quot; at end of sourced file.<br>
<br>
A large number of patches for the VMS version. (Hunsaker)<br>
<br>
When&nbsp;<span class="Special">CTRL-L</span>&nbsp;completion (find longest match) results in a shorter string, no<br>
completion is done (happens with &quot;:help&quot;).<br>
<br>
Crash in Win32 GUI version, when using an Ex &quot;@&quot; command, because<br>
LinePointers[] was used while not initialized.<br>
<br>
Win32 GUI: allow mapping of Alt-Space.<br>
<br>
Output from &quot;vim -h&quot; was sent to stderr.&nbsp;&nbsp;Sending it to stdout is better, so<br>
one can use &quot;vim -h | more&quot;.<br>
<br>
In command-line mode, &quot;:vi[!]&quot; should reload the file, just like &quot;:e[!]&quot;.<br>
In Ex mode, &quot;:vi&quot; stops Ex mode, but doesn't reload the file.&nbsp;&nbsp;This is Vi<br>
compatible.<br>
<br>
When using a &quot;:set ls=1&quot; in the .gvimrc file, would get a status line for a<br>
single window.&nbsp;&nbsp;(Robinson)<br>
<br>
Didn't give an error message for &quot;:set ai,xx&quot;. (Roemer)<br>
Didn't give an error message for &quot;:set ai?xx&quot;, &quot;:set ai&amp;xx&quot;, &quot;:set ai!xx&quot;.<br>
<br>
Non-Unix systems: That a file exists but is unreadable is recognized as &quot;new<br>
file&quot;.&nbsp;&nbsp;Now check for existence when file can't be opened (like Unix).<br>
<br>
Unix: osdef.sh didn't handle declarations where the function name is at the<br>
first column of the line.<br>
<br>
DJGPP: Shortening of file names didn't work properly, because get_cwd()<br>
returned a path with backslashes. (Negri)<br>
<br>
When using a&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;part where a space is required after the middle part,<br>
always insert a space when starting a new line.&nbsp;&nbsp;Helps for C comments, below a<br>
line with &quot;/****&quot;.<br>
<br>
Replacing path of home directory with &quot;~/&quot; could be wrong for file names<br>
with embedded spaces or commas.<br>
<br>
A few fixes for the Sniff interface. (Leherbauer)<br>
<br>
When asking to hit 'y' or 'n' (e.g. for &quot;:3,1d&quot;), using the mouse caused<br>
trouble.&nbsp;&nbsp;Same for &quot;:s/x/y/c&quot; prompt.<br>
<br>
With&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'list'">'list'</a>, a Tab halfway on the screen was displayed as blanks,<br>
instead of the characters specified with&nbsp;<a class="Type" href="options.html#'listchars'">'listchars'</a>.&nbsp;&nbsp;Also for other<br>
characters that take more than one screen character.<br>
<br>
When setting&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;to an unknown font name, the previous font was lost and<br>
a default font would be used. (Steed)<br>
<br>
DOS: Filenames in the root directory didn't get shortened properly. (Negri)<br>
<br>
DJGPP: making a full path name out of a file name didn't work properly when<br>
there is no _fullpath() function. (Negri)<br>
<br>
Win32 console: &quot;:sh&quot; caused a crash. (Negri)<br>
<br>
Win32 console: Setting&nbsp;<a class="Type" href="options.html#'lines'">'lines'</a>&nbsp;and/or&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;in the _vimrc failed miserably<br>
(could hang Windows 95). (Negri)<br>
<br>
Win32: The change-drive function was not correct, went to the wrong drive.<br>
(Tsindlekht)<br>
<br>
GUI: When editing a command line in Ex mode, Tabs were sometimes not<br>
backspaced properly, and unprintable characters were displayed directly.<br>
non-GUI can still be wrong, because a system function is called for this.<br>
<br>
&quot;:set&quot; didn't stop after an error.&nbsp;&nbsp;For example &quot;:set no ai&quot; gave an error for<br>
&quot;no&quot;, but still set &quot;ai&quot;.&nbsp;&nbsp;Now &quot;:set&quot; stops after the first error.<br>
<br>
When running configure for ctags, $LDFLAGS wasn't passed to it, causing<br>
trouble for IRIX.<br>
<br>
&quot;@%&quot; and &quot;@#&quot; when file name not set gave an error message.&nbsp;&nbsp;Now they just<br>
return an empty string. (Steed)<br>
<br>
<span class="Special">CTRL-X</span>&nbsp;and&nbsp;<span class="Special">CTRL-A</span>&nbsp;didn't work correctly with negative hex and octal numbers.<br>
(Steed)<br>
<br>
&quot;:echo&quot; always started with a blank.<br>
<br>
Updating GUI cursor shape didn't always work (e.g., when blinking is off).<br>
<br>
In silent Ex mode (&quot;ex -s&quot; or &quot;ex &lt;file&quot;) &quot;:s///p&quot; didn't print a line.&nbsp;&nbsp;Also<br>
a few other commands that explicitly print a text line didn't work.&nbsp;&nbsp;Made this<br>
Vi compatible.<br>
<br>
Win32 version of _chdrive() didn't return correct value. (Tsindlekht)<br>
<br>
When using 't' in&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;option, no longer give an error message for a<br>
missing tags file.<br>
<br>
Unix: tgoto() can return NULL, which was not handled correctly in configure.<br>
<br>
When doing &quot;:help&quot; from a buffer where&nbsp;<a class="Type" href="options.html#'binary'">'binary'</a>&nbsp;is set, also edited the help<br>
file in binary mode.&nbsp;&nbsp;Caused extra ^Ms for DOS systems.<br>
<br>
Cursor position in a file was reset to 1 when closing a window.<br>
<br>
&quot;:!ls&quot; in Ex mode switched off echo.<br>
<br>
When doing a double click in window A, while currently in window B, first<br>
click would reset double click time, had to click three times to select a<br>
word.<br>
<br>
When using&nbsp;<span class="Special">&lt;F11&gt;</span>&nbsp;in mappings, &quot;:mkexrc&quot; produced an exrc file that can't be<br>
used in Vi compatible mode.&nbsp;&nbsp;Added setting of&nbsp;<a class="Type" href="options.html#'cpo'">'cpo'</a>&nbsp;to avoid this.&nbsp;&nbsp;Also, add<br>
a&nbsp;<span class="Special">CTRL-V</span>&nbsp;in front of a '&lt;', to avoid a normal string to be interpreted as a<br>
special key name.<br>
<br>
Gave confusing error message for &quot;:set guifont=-*-lucida-*&quot;: first &quot;font is<br>
not fixed width&quot;, then &quot;Unknown font&quot;.<br>
<br>
Some options were still completely left out, instead of included as hidden<br>
options.<br>
<br>
While running the X11 GUI, ignore SIGHUP signals.&nbsp;&nbsp;Avoids a crash after<br>
executing an external command (in rare cases).<br>
<br>
In os_unixx.h, signal() was defined to sigset(), while it already was.<br>
<br>
Memory leak when executing autocommands (was reported as a memory leak in<br>
syntax highlighting).<br>
<br>
Didn't print source of error sometimes, because pointers were the same,<br>
although names were different.<br>
<br>
Avoid a number of UMR errors from Purify (third argument to open()).<br>
<br>
A swap file could still be created just after setting&nbsp;<a class="Type" href="options.html#'updatecount'">'updatecount'</a>&nbsp;to zero,<br>
when there is an empty buffer and doing &quot;:e file&quot;. (Kutschera)<br>
<br>
Test 35 failed on 64 bit machines. (Schild)<br>
<br>
With &quot;p&quot; and &quot;P&quot; commands, redrawing was slow.<br>
<br>
Awk script for html documentation didn't work correctly with AIX awk.<br>
Replaced &quot;[ ,.);\]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&quot; with &quot;[] ,.);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]&quot;. (Briscoe)<br>
The makehtml.awk script had a small problem, causing extra lines to be<br>
inserted. (Briscoe)<br>
<br>
&quot;gqgq&quot; could not be repeated.&nbsp;&nbsp;Repeating for &quot;gugu&quot; and &quot;gUgU&quot; worked in a<br>
wrong way.&nbsp;&nbsp;Also made &quot;gqq&quot; work to be consistent with &quot;guu&quot;.<br>
<br>
C indent was wrong after &quot;case ':':&quot;.<br>
<br>
&quot;:au BufReadPre *.c put&quot;: Line from put text was deleted, because the buffer<br>
was still assumed to be empty.<br>
<br>
Text pasted with the Edit/Paste menu was subject to&nbsp;<a class="Type" href="options.html#'textwidth'">'textwidth'</a>&nbsp;and<br>
<a class="Type" href="options.html#'autoindent'">'autoindent'</a>.&nbsp;&nbsp;That was inconsistent with using the mouse to paste.&nbsp;&nbsp;Now &quot;*p<br>
is used.<br>
<br>
When using&nbsp;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">CTRL-]</span>&nbsp;on a word that's not a tag, and then&nbsp;<span class="Special">CTRL-]</span>&nbsp;on a tag,<br>
window was split.<br>
<br>
&quot;:ts&quot; got stuck on a tags line that has two extra fields.<br>
<br>
In Insert mode, with&nbsp;<a class="Type" href="options.html#'showmode'">'showmode'</a>&nbsp;on,&nbsp;<span class="Special">&lt;C-O&gt;&lt;C-G&gt;</span>&nbsp;message was directly<br>
overwritten by mode message, if preceded with search command warning message.<br>
<br>
When putting the result of an expression with &quot;=<span class="Special">&lt;expr&gt;</span>p, newlines were<br>
inserted like ^@ (NUL in the file).&nbsp;&nbsp;Now the string is split up in lines at<br>
the newline.<br>
<br>
putenv() was declared with &quot;const char *&quot; in pty.c, but with &quot;char *&quot; in<br>
osdef2.h.in.&nbsp;&nbsp;Made the last one also &quot;const char *&quot;.<br>
<br>
&quot;:help&nbsp;<span class="Special">{word}</span>&quot;, where +<span class="Special">{word}</span>&nbsp;is a feature, jumped to the feature list instead<br>
of where the command was explained.&nbsp;&nbsp;E.g., &quot;:help browse&quot;, &quot;:help autocmd&quot;.<br>
<br>
Using the &quot;\<span class="Special">&lt;xx&gt;</span>&quot; form in an expression only got one byte, even when using a<br>
special character that uses several bytes (e.g., &quot;\<span class="Special">&lt;F9&gt;</span>&quot;).<br>
Changed &quot;\<span class="Special">&lt;BS&gt;</span>&quot; to produce&nbsp;<span class="Special">CTRL-H</span>&nbsp;instead of the special key code for the<br>
backspace key.&nbsp;&nbsp;&quot;\<span class="Special">&lt;Del&gt;</span>&quot; produces 0x7f.<br>
<br>
&quot;:mkvimrc&quot; didn't write a command to set&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;or&nbsp;<a class="Type" href="options.html#'nocompatible'">'nocompatible'</a>.<br>
<br>
The shell syntax didn't contain a &quot;syn sync maxlines&quot; setting.&nbsp;&nbsp;In a long file<br>
without recognizable items, syncing took so long it looked like Vim hangs.<br>
Added a maxlines setting, and made syncing interruptible.<br>
<br>
The &quot;gs&quot; command didn't flush output before waiting.<br>
<br>
Memory leaks for:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:if 0 | let a = b . c | endif&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;let a = b[c]&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:so&nbsp;<span class="Special">{file}</span>&quot; where&nbsp;<span class="Special">{file}</span>&nbsp;contains a &quot;:while&quot;<br>
<br>
GUI: allocated fonts were never released. (Leonard)<br>
<br>
Makefile.bor:<br>
- Changed $(DEFINES) into a list of &quot;-D&quot; options, so that it can also be used<br>
&nbsp;&nbsp;for the resource compiler. (not tested!)<br>
- &quot;bcc.cfg&quot; was used for all configurations.&nbsp;&nbsp;When building for another<br>
&nbsp;&nbsp;configuration, the settings for the previous one would be used.&nbsp;&nbsp;Moved<br>
&nbsp;&nbsp;&quot;bcc.cfg&quot; to the object directory. (Geddes)<br>
- Included targets for vimrun, install, ctags and xxd.&nbsp;&nbsp;Changed the default to<br>
&nbsp;&nbsp;use the Borland DLL Runtime Library, makes Vim.exe a log smaller. (Aaron)<br>
<br>
&quot;2*&quot; search for the word under the cursor with &quot;2&quot; prepended. (Leonard)<br>
<br>
When deleting into a specific register, would still overwrite the non-Win32<br>
GUI selection.&nbsp;&nbsp;Now &quot;&quot;x&quot;*P works.<br>
<br>
When deleting into the &quot;&quot; register, would write to the last used register.<br>
Now &quot;&quot;x always writes to the unnamed register.<br>
<br>
GUI Athena: A submenu with a '.' in it didn't work.&nbsp;&nbsp;E.g.,<br>
&quot;:amenu Syntax.XY\.Z.foo lll&quot;.<br>
<br>
When first doing &quot;:tag foo&quot; and then &quot;:tnext&quot; and/or &quot;:tselect&quot; the order of<br>
matching tags could change, because the current file is different.&nbsp;&nbsp;Now the<br>
existing matches are kept in the same order, newly found matches are added<br>
after them, not matter what the current file is.<br>
<br>
&quot;:ta&quot; didn't find the second entry in a tags file, if the second entry was<br>
longer than the first one.<br>
<br>
When using &quot;:set si tw=7&quot; inserting &quot;foo {^P}&quot; made the &quot;}&quot; inserted at the<br>
wrong position.&nbsp;&nbsp;can_si was still TRUE when the cursor is not in the indent of<br>
the line.<br>
<br>
Running an external command in Win32 version had the problem that Vim exits<br>
when the X on the console is hit (and confirmed).&nbsp;&nbsp;Now use the &quot;vimrun&quot;<br>
command to start the external command indirectly. (Negri)<br>
<br>
Win32 GUI: When running an external filter, do it in a minimized DOS box.<br>
(Negri)<br>
<br>
&quot;:let&quot; listed variables without translation into printable characters.<br>
<br>
Win32 console: When resizing the window, switching back to the old size<br>
(when exiting or executing an external command) sometimes failed. (Negri)<br>
This appears to also fix a &quot;non fixable&quot; problem:<br>
Win32 console in NT 4.0: When running Vim in a cmd window with a scrollbar,<br>
the scrollbar disappeared and was not restored when Vim exits.&nbsp;&nbsp;This does work<br>
under NT 3.51, it appears not to be a Vim problem.<br>
<br>
When executing BufDelete and BufUnload autocommands for a buffer without a<br>
name, the name of the current buffer was used for&nbsp;<span class="Special">&lt;afile&gt;</span>.<br>
<br>
When jumping to a tag it reported &quot;tag 1 of &gt;2&quot;, while in fact there could be<br>
only two matches.&nbsp;&nbsp;Changed to &quot;tag 1 of 2 or more&quot;.<br>
<br>
&quot;:tjump tag&quot; did a linear search in the tags file, which can be slow.<br>
<br>
Configure didn't find &quot;LibXm.so.2.0&quot;, a Xm library with a version number.<br>
<br>
Win32 GUI: When using a shifted key with ALT, the shift modifier would remain<br>
set, even when it was already used by changing the used key.&nbsp;&nbsp;E.g., &quot;<span class="Special">&lt;M-S-9&gt;</span>&quot;<br>
resulted in &quot;&lt;M-S-(&gt;&quot;, but it should be &quot;<span class="Special">&lt;M-(&gt;</span>&quot;. (Negri)<br>
<br>
A call to ga_init() was often followed by setting growsize and itemsize.<br>
Created ga_init2() for this, which looks better. (Aaron)<br>
<br>
Function filereadable() could call fopen() with an empty string, which might<br>
be illegal.<br>
<br>
X Windows GUI: When executing an external command that outputs text, could<br>
write one character beyond the end of a buffer, which caused a crash. (Kohan)<br>
<br>
When using &quot;*&quot; or &quot;#&quot; on a string that includes '/' or '?' (when these are<br>
included in&nbsp;<a class="Type" href="options.html#'isk'">'isk'</a>), they were not escaped. (Parmelan)<br>
<br>
When adding a ToolBar menu in the Motif GUI, the submenu_id field was not<br>
cleared, causing random problems.<br>
<br>
When adding a menu, the check if this menu (or submenu) name already exists<br>
didn't compare with the simplified version (no mnemonic or accelerator) of the<br>
new menu.&nbsp;&nbsp;Could get two menus with the same name, e.g., &quot;File&quot; and &quot;&amp;File&quot;.<br>
<br>
Breaking a line because of&nbsp;<a class="Type" href="options.html#'textwidth'">'textwidth'</a>&nbsp;at the last line in the window caused a<br>
redraw of the whole window instead of a scroll.&nbsp;&nbsp;Speeds up normal typing with<br>
<a class="Type" href="options.html#'textwidth'">'textwidth'</a>&nbsp;a lot for slow terminals.<br>
<br>
An invalid line number produced an &quot;invalid range&quot; error, even when it wasn't<br>
to be executed (inside &quot;if 0&quot;).<br>
<br>
When the unnamed, first buffer is re-used, the &quot;BufDelete&quot; autocommand was<br>
not called.&nbsp;&nbsp;It would stick in a buffer list menu.<br>
<br>
When doing &quot;%&quot; on the NUL after the line, a &quot;{&quot; or &quot;}&quot; in the last character<br>
of the line was not found.<br>
<br>
The Insert mode menu was not used for the &quot;s&quot; command, the Operator-pending<br>
menu was used instead.<br>
<br>
With&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;set, some syntax highlighting was not correct, because of<br>
using &quot;[\t]&quot; for a search pattern.&nbsp;&nbsp;Now use the regexps for syntax<br>
highlighting like the&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;option is empty (as was documented already).<br>
<br>
When using &quot;map&nbsp;<span class="Special">&lt;M-Space&gt;</span>&nbsp;ms&quot; or &quot;map&nbsp;<span class="Special">&lt;Space&gt;</span>&nbsp;sss&quot; the output of &quot;:map&quot; didn't<br>
show any lhs for the mapping (if&nbsp;<a class="Type" href="options.html#'isprint'">'isprint'</a>&nbsp;includes 160).&nbsp;&nbsp;Now always use<br>
<span class="Special">&lt;Space&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;M-Space&gt;</span>, even when they are printable.<br>
<br>
Adjusted the Syntax menu, so that the lowest entry fits on a small screen (for<br>
Athena, where menus don't wrap).<br>
<br>
When using&nbsp;<span class="Special">CTRL-E</span>&nbsp;or&nbsp;<span class="Special">CTRL-Y</span>&nbsp;in Insert mode for characters like 'o', 'x' and<br>
digits, repeating the insert didn't work.<br>
<br>
The file &quot;tools/ccfilter.README.txt&quot; could not be unpacked when using short<br>
file names, because of the two dots.&nbsp;&nbsp;Renamed it to<br>
&quot;tools/ccfilter_README.txt&quot;.<br>
<br>
For a dark&nbsp;<a class="Type" href="options.html#'background'">'background'</a>, using Blue for Directory and SpecialKey highlight<br>
groups is not very readable.&nbsp;&nbsp;Use Cyan instead.<br>
<br>
In the function uc_scan_attr() in ex_docmd.c there was a goto that jumped into<br>
a block with a local variable.&nbsp;&nbsp;That's illegal for some compilers.<br>
<br>
Win32 GUI: There was a row of pixels at the bottom of the window which was not<br>
drawn. (Aaron)<br>
<br>
Under DOS, editing &quot;filename/&quot; created a swap file of &quot;filename/.swp&quot;.&nbsp;&nbsp;Should<br>
be &quot;filename/_swp&quot;.<br>
<br>
Win32 GUI: pointer was hidden when executing an external command.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;is 999, &quot;J&quot; near the end of the file didn't redisplay correctly.<br>
<br>
&quot;:0a&quot; inserted after the first line, instead of before the first line.<br>
<br>
Unix: Wildcard expansion didn't handle single quotes and {} patterns.&nbsp;&nbsp;Now<br>
&quot;:file 'window.c'&quot; removes the quotes and &quot;:e 'main*.c'&quot; works (literal '*').<br>
&quot;:file&nbsp;<span class="Special">{o}{n}{e}</span>&quot; now results in file name &quot;one&quot;.<br>
<br>
Memory leak when setting a string option back to its default value.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.3" name="version-5.3">version-5.3</a><br>
<br>
Version 5.3 was a bug-fix version of 5.2.&nbsp;&nbsp;There are not many changes.<br>
Improvements made between version 5.2 and 5.3:<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.3" name="changed-5.3">changed-5.3</a><br>
<span class="PreProc">-------</span><br>
<br>
Renamed &quot;IDE&quot; menu to &quot;Tools&quot; menu.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.3" name="added-5.3">added-5.3</a><br>
<span class="PreProc">-----</span><br>
<br>
Win32 GUI: Give a warning when Vim is activated, and one of the files changed<br>
since editing started. (Negri)<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.3" name="fixed-5.3">fixed-5.3</a><br>
<span class="PreProc">-----</span><br>
<br>
5.2.1: Win32 GUI: space for external command was not properly allocated, could<br>
cause a crash. (Aaron)&nbsp;&nbsp;This was the reason to bring out 5.3 quickly after<br>
5.2.<br>
<br>
5.2.2: Some commands didn't complain when used without an argument, although<br>
they need one: &quot;:badd&quot;, &quot;:browse&quot;, &quot;:call&quot;, &quot;:confirm&quot;, &quot;:behave&quot;,<br>
&quot;:delfunction&quot;, &quot;:delcommand&quot; and &quot;:tearoff&quot;.<br>
&quot;:endfunction&quot; outside of a function gave wrong error message: &quot;Command not<br>
implemented&quot;.&nbsp;&nbsp;Should be &quot;:endfunction not inside a function&quot;.<br>
<br>
5.2.3: Win32 GUI: When gvim was installed in &quot;Program files&quot;, or another path<br>
with a space in it, executing external commands with vimrun didn't work.<br>
<br>
5.2.4: Pasting with the mouse in Insert mode left the cursor on the last<br>
pasted character, instead of behind it.<br>
<br>
5.2.5: In Insert mode, cursor after the end of the line, a shift-cursor-left<br>
didn't include the last character in the selection.<br>
<br>
5.2.6: When deleting text from Insert mode (with &quot;<span class="Special">&lt;C-O&gt;</span>D&quot; or the mouse), which<br>
includes the last character in the line, the cursor could be left on the last<br>
character in the line, instead of just after it.<br>
<br>
5.2.7: Win32 GUI: scrollbar was one pixel too big.<br>
<br>
5.2.8: Completion of &quot;PopUp&quot; menu showed the derivatives &quot;PopUpc&quot;, &quot;PopUPi&quot;,<br>
etc.&nbsp;&nbsp;&quot;:menu&quot; also showed these.<br>
<br>
5.2.9: When using two input() functions on a row, the prompt would not be<br>
drawn in column 0.<br>
<br>
5.2.10: A loop with input() could not be broken with&nbsp;<span class="Special">CTRL-C</span>.<br>
<br>
5.2.11: &quot;:call asdf&quot; and &quot;:call asdf(&quot; didn't give an error message.<br>
<br>
5.2.12: Recursively using &quot;:normal&quot; crashes Vim after a while.&nbsp;&nbsp;E.g.:<br>
&quot;:map gq :normal gq<span class="Special">&lt;CR&gt;</span>&quot;<br>
<br>
5.2.13: Syntax highlighting used&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;from wrong buffer.&nbsp;&nbsp;When using<br>
&quot;:help&quot;, then &quot;/\k*&quot; in another window with&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;set.<br>
<br>
5.2.14: When using &quot;:source&quot; from a function, global variables would not be<br>
available unless &quot;g:&quot; was used.<br>
<br>
5.2.15: XPM files can have the extension &quot;.pm&quot;, which is the same as for Perl<br>
modules.&nbsp;&nbsp;Added &quot;syntax/pmfile.vim&quot; to handle this.<br>
<br>
5.2.16: On Win32 and Amiga, &quot;echo expand(&quot;%:p:h&quot;)&quot; removed one dirname in an<br>
empty buffer.&nbsp;&nbsp;mch_Fullname() didn't append a slash at the end of a directory<br>
name.<br>
<br>
Should include the character under the cursor in the Visual area when using<br>
<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;&quot;exclusive&quot;.&nbsp;&nbsp;This wasn't done for &quot;%&quot;, &quot;e&quot;, &quot;E&quot;, &quot;t&quot; and &quot;f&quot;.<br>
<br>
&quot;&quot;p would always put register 0, instead of the unnamed (last used) register.<br>
Reverse the change that &quot;&quot;x doesn't write in the unnamed (last used) register.<br>
It would always write in register 0, which isn't very useful.&nbsp;&nbsp;Use &quot;-x for the<br>
paste mappings in Visual mode.<br>
<br>
When there is one long line on the screen, and&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>&nbsp;is off, &quot;0$&quot; didn't<br>
redraw the screen.<br>
<br>
Win32 GUI: When using&nbsp;<a class="Type" href="options.html#'mousehide'">'mousehide'</a>, the pointer would flicker when the cursor<br>
shape is changed. (Negri)<br>
<br>
When cancelling Visual mode, and the cursor moves to the start, the wanted<br>
column wasn't set, &quot;k&quot; or &quot;j&quot; moved to the wrong column.<br>
<br>
When using &quot;:browse&quot; or &quot;:confirm&quot;, was checking for a comment and separating<br>
bar, which can break some commands.<br>
<br>
Included fixes for Macintosh. (Kielhorn)<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.4" name="version-5.4">version-5.4</a><br>
<br>
Version 5.4 adds new features, useful changes and a lot of bug fixes.<br>
<br>
<br>
Runtime directory introduced&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-runtime-dir" name="new-runtime-dir">new-runtime-dir</a><br>
<span class="PreProc">----------------------------</span><br>
<br>
The distributed runtime files are now in $VIMRUNTIME, the user files in $VIM.<br>
You normally don't set $VIMRUNTIME but let Vim find it, by using<br>
$VIM/vim<span class="Special">{version}</span>, or use $VIM when that doesn't exist.&nbsp;&nbsp;This allows for<br>
separating the user files from the distributed files and makes it more easy to<br>
upgrade to another version.&nbsp;&nbsp;It also makes it possible to keep two versions of<br>
Vim around, each with their own runtime files.<br>
<br>
In the Unix distribution the runtime files have been moved to the &quot;runtime&quot;<br>
directory.&nbsp;&nbsp;This makes it possible to copy all the runtime files at once,<br>
without the need to know what needs to be copied.<br>
<br>
The archives for DOS, Windows, Amiga and OS/2 now have an extra top-level<br>
&quot;vim&quot; directory.&nbsp;&nbsp;This is to make clear that user-modified files should be put<br>
here.&nbsp;&nbsp;The directory that contains the executables doesn't have '-' or '.'<br>
characters.&nbsp;&nbsp;This avoids strange extensions.<br>
<br>
The $VIM and $VIMRUNTIME variables are set when they are first used.&nbsp;&nbsp;This<br>
allows them to be used by Perl, for example.<br>
<br>
The runtime files are also found in a directory called &quot;$VIM/runtime&quot;.&nbsp;&nbsp;This<br>
helps when running Vim after just unpacking the runtime archive.&nbsp;&nbsp;When using<br>
an executable in the &quot;src&quot; directory, Vim checks if &quot;vim54&quot; or &quot;runtime&quot; can<br>
be added after removing it.&nbsp;&nbsp;This make the runtime files be found just after<br>
compiling.<br>
<br>
A default for $VIMRUNTIME can be given in the Unix Makefile.&nbsp;&nbsp;This is useful<br>
if $VIM doesn't point to above the runtime directory but to e.g., &quot;/etc/&quot;.<br>
<br>
<br>
Filetype introduced&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-filetype-5.4" name="new-filetype-5.4">new-filetype-5.4</a><br>
<span class="PreProc">-------------------</span><br>
<br>
Syntax files are now loaded with the new FileType autocommand.&nbsp;&nbsp;Old<br>
&quot;mysyntaxfile&quot; files will no longer work.&nbsp;<a class="Identifier" href="filetype.html#filetypes">filetypes</a><br>
<br>
The scripts for loading syntax highlighting have been changed to use the<br>
new Syntax autocommand event.<br>
<br>
This combination of Filetype and Syntax events allows tuning the syntax<br>
highlighting a bit more, also when selected from the Syntax menu.&nbsp;&nbsp;The<br>
FileType autocommand can also be used to set options and mappings specifically<br>
for that type of file.<br>
<br>
The &quot;$VIMRUNTIME/filetype.vim&quot; file is not loaded automatically.&nbsp;&nbsp;The<br>
&quot;:filetype on&quot; command has been added for this.&nbsp;&nbsp;&quot;:syntax on&quot; also loads it.<br>
<br>
The&nbsp;<a class="Type" href="options.html#'filetype'">'filetype'</a>&nbsp;option has been added.&nbsp;&nbsp;It is used to trigger the FileType<br>
autocommand event, like the&nbsp;<a class="Type" href="options.html#'syntax'">'syntax'</a>&nbsp;option does for the Syntax event.<br>
<br>
&quot;:set syntax=OFF&quot; and &quot;:set syntax=ON&quot; can be used (in a modeline) to switch<br>
syntax highlighting on/off for the current file.<br>
<br>
The Syntax menu commands have been moved to $VIMRUNTIME/menu.vim.&nbsp;&nbsp;The Syntax<br>
menu is included both when &quot;:filetype on&quot; and when &quot;:syntax manual&quot; is used.<br>
<br>
Renamed the old&nbsp;<a class="Type" href="options.html#'filetype'">'filetype'</a>&nbsp;option to&nbsp;<a class="Type" href="options.html#'osfiletype'">'osfiletype'</a>.&nbsp;&nbsp;It was only used for<br>
RISCOS.&nbsp;&nbsp;<a class="Type" href="options.html#'filetype'">'filetype'</a>&nbsp;is now used for the common file type.<br>
<br>
Added the &quot;:syntax manual&quot; command.&nbsp;&nbsp;Allows manual selection of the syntax to<br>
be used, e.g., from a modeline.<br>
<br>
<br>
Vim script line continuation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-line-continuation" name="new-line-continuation">new-line-continuation</a><br>
<span class="PreProc">----------------------------</span><br>
<br>
When an Ex line starts with a backslash, it is concatenated to the previous<br>
line.&nbsp;&nbsp;This avoids the need for long lines.&nbsp;<a class="Identifier" href="repeat.html#line-continuation">line-continuation</a>&nbsp;(Roemer)<br>
Example:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp; has(&quot;dialog_con&quot;) ||<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \ has(&quot;dialog_gui&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:let result = confirm(&quot;Enter your choice&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ &quot;&amp;Yes\n&amp;No\n&amp;Maybe&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\ 2)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif</div>
<br>
<br>
Improved session files&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#improved-sessions" name="improved-sessions">improved-sessions</a><br>
<span class="PreProc">----------------------</span><br>
<br>
New words for&nbsp;<a class="Type" href="options.html#'sessionoptions'">'sessionoptions'</a>:<br>
- &quot;help&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restore the help window.<br>
- &quot;blank&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Restore empty windows.<br>
- &quot;winpos&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restore the Vim window position.&nbsp;&nbsp;Uses the new &quot;:winpos&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command<br>
- &quot;buffers&quot;&nbsp;&nbsp;&nbsp;&nbsp; Restore hidden and unloaded buffers.&nbsp;&nbsp;Without it only the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffers in windows are restored.<br>
- &quot;slash&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Replace backward by forward slashes in file names.<br>
- &quot;globals&quot;&nbsp;&nbsp;&nbsp;&nbsp; Store global variables.<br>
- &quot;unix&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use unix file format (<span class="Special">&lt;NL&gt;</span>&nbsp;instead of&nbsp;<span class="Special">&lt;CR&gt;&lt;NL&gt;</span>)<br>
<br>
The &quot;:mksession&quot; and&nbsp;<a class="Type" href="options.html#'sessionoptions'">'sessionoptions'</a>&nbsp;are now in the +mksession feature.<br>
<br>
The top line of the window is also restored when using a session file.<br>
<br>
&quot;:mksession&quot; and &quot;:mkvimrc&quot; don't store&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>, it should be detected<br>
when loading a file.<br>
<br>
(Most of this was done by Vince Negri and Robert Webb)<br>
<br>
<br>
Autocommands improved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#improved-autocmds-5.4" name="improved-autocmds-5.4">improved-autocmds-5.4</a><br>
<span class="PreProc">---------------------</span><br>
<br>
New events:<br>
<a class="Identifier" href="autocmd.html#FileType">FileType</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When the file type has been detected.<br>
<a class="Identifier" href="autocmd.html#FocusGained">FocusGained</a>&nbsp;&nbsp; When Vim got input focus. (Negri)<br>
<a class="Identifier" href="autocmd.html#FocusLost">FocusLost</a>&nbsp;&nbsp;&nbsp;&nbsp; When Vim lost input focus. (Negri)<br>
<a class="Identifier" href="autocmd.html#BufCreate">BufCreate</a>&nbsp;&nbsp;&nbsp;&nbsp; Called just after a new buffer has been created or has been<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renamed. (Madsen)<br>
<a class="Identifier" href="autocmd.html#CursorHold">CursorHold</a>&nbsp;&nbsp;&nbsp;&nbsp;Triggered when no key has been typed for&nbsp;<a class="Type" href="options.html#'updatetime'">'updatetime'</a>.&nbsp;&nbsp;Can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used to do something with the word under the cursor. (Negri)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented CursorHold autocommand event for Unix. (Zellner)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also for Amiga and MS-DOS.<br>
<a class="Identifier" href="autocmd.html#GUIEnter">GUIEnter</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Can be used to do something with the GUI window after it has<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;been created (e.g., a &quot;:winpos 100 50&quot;).<br>
<a class="Identifier" href="autocmd.html#BufHidden">BufHidden</a>&nbsp;&nbsp;&nbsp;&nbsp; When a buffer becomes hidden.&nbsp;&nbsp;Used to delete the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option-window when it becomes hidden.<br>
<br>
Also trigger&nbsp;<a class="Identifier" href="autocmd.html#BufDelete">BufDelete</a>&nbsp;just before a buffer is going to be renamed. (Madsen)<br>
<br>
The &quot;<span class="Special">&lt;amatch&gt;</span>&quot; pattern can be used like &quot;<span class="Special">&lt;afile&gt;</span>&quot; for autocommands, except<br>
that it is the matching value for the FileType and Syntax events.<br>
<br>
When &quot;:let @/ =&nbsp;<span class="Special">&lt;string&gt;</span>&quot; is used in an autocommand, this last search pattern<br>
will be used after the autocommand finishes.<br>
<br>
Made loading autocommands a bit faster.&nbsp;&nbsp;Avoid doing strlen() on each exiting<br>
pattern for each new pattern by remembering the length.<br>
<br>
<br>
Encryption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-encryption" name="new-encryption">new-encryption</a><br>
<span class="PreProc">----------</span><br>
<br>
Files can be encrypted when writing and decrypted when reading.&nbsp;&nbsp;Added the<br>
<a class="Type" href="options.html#'key'">'key'</a>&nbsp;option, &quot;-x&quot; command line argument and &quot;:X&quot; command.&nbsp;<a class="Identifier" href="editing.html#encryption">encryption</a>&nbsp;(based<br>
on patch from Mohsin Ahmed)<br>
<br>
When reading a file, there is an automatic detection whether it has been<br>
crypted.&nbsp;&nbsp;Vim will then prompt for the key.<br>
<br>
<span class="Todo">Note</span>&nbsp;that the encryption method is not compatible with Vi.&nbsp;&nbsp;The encryption is<br>
not unbreakable.&nbsp;&nbsp;This allows it to be exported from the US.<br>
<br>
<br>
GTK GUI port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-GTK-GUI" name="new-GTK-GUI">new-GTK-GUI</a><br>
<span class="PreProc">------------</span><br>
<br>
New GUI port for GTK+.&nbsp;&nbsp;Includes a toolbar, menu tearoffs, etc.&nbsp;<a class="Identifier" href="gui_x11.html#gui-gtk">gui-gtk</a><br>
Added the&nbsp;<a class="Identifier" href="helphelp.html#:helpfind">:helpfind</a>&nbsp;command. (Kahn and Dalecki)<br>
<br>
<br>
Menu changes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#menu-changes-5.4" name="menu-changes-5.4">menu-changes-5.4</a><br>
<span class="PreProc">------------</span><br>
<br>
Menus can now also be used in the console.&nbsp;&nbsp;It is enabled by the new<br>
<a class="Type" href="options.html#'wildmenu'">'wildmenu'</a>&nbsp;option.&nbsp;&nbsp;This shows matches for command-line completion like a<br>
menu.&nbsp;&nbsp;This works as a minimal file browser.<br>
<br>
The new&nbsp;<a class="Identifier" href="gui.html#:emenu">:emenu</a>&nbsp;command can be used to execute a menu item.<br>
<br>
Uses the last status line to list items, or inserts a line just above the<br>
command line.&nbsp;&nbsp;(Negri)<br>
<br>
The&nbsp;<span class="MissingTag">'wildcharx'</span>&nbsp;option can be used to trigger&nbsp;<a class="Type" href="options.html#'wildmenu'">'wildmenu'</a>&nbsp;completion from a<br>
mapping.<br>
<br>
When compiled without menus, this can be detected with has(&quot;menu&quot;).&nbsp;&nbsp;Also show<br>
this in the &quot;:version&quot; output.&nbsp;&nbsp;Allow compiling GUI versions without menu<br>
support.&nbsp;&nbsp;Only include toolbar support when there is menu support.<br>
<br>
Moved the &quot;Window&quot; menu all the way to the right (priority 70).&nbsp;&nbsp;Looks more<br>
familiar for people working with MS-Windows, shouldn't matter for others.<br>
<br>
Included &quot;Buffers&quot; menu.&nbsp;&nbsp;Works with existing autocommands and functions.&nbsp;&nbsp;It<br>
can be disabled by setting the &quot;no_buffers_menu&quot; variable.&nbsp;&nbsp;(Aaron and Madsen)<br>
<br>
Win32 supports separators in a menu: &quot;-.*-&quot;. (Geddes)<br>
Menu separators for Motif now work too.<br>
<br>
Made Popup menu for Motif GUI work. (Madsen)<br>
<br>
'M' flag in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>: Don't source the system menu.<br>
<br>
All the menu code has been moved from gui.c to menu.c.<br>
<br>
<br>
Viminfo improved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#improved-viminfo" name="improved-viminfo">improved-viminfo</a><br>
<span class="PreProc">----------------</span><br>
<br>
New flags for&nbsp;<a class="Type" href="options.html#'viminfo'">'viminfo'</a>:<br>
'!'&nbsp;&nbsp;&nbsp;&nbsp; Store global variables in the viminfo file if they are in uppercase<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;letters. (Negri)<br>
'h'&nbsp;&nbsp;&nbsp;&nbsp; Do &quot;:nohlsearch&quot; when loading a viminfo file.<br>
<br>
Store search patterns in the viminfo file with their offset, magic, etc.&nbsp;&nbsp;Also<br>
store the flag whether&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;highlighting is on or off (which is not used<br>
if the 'h' flag is in&nbsp;<a class="Type" href="options.html#'viminfo'">'viminfo'</a>).<br>
<br>
Give an error message when setting&nbsp;<a class="Type" href="options.html#'viminfo'">'viminfo'</a>&nbsp;without commas.<br>
<br>
<br>
Various new commands&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-commands-5.4" name="new-commands-5.4">new-commands-5.4</a><br>
<span class="PreProc">--------------------</span><br>
<br>
Operator&nbsp;<a class="Identifier" href="change.html#g?">g?</a>: rot13 encoding. (Negri)<br>
<br>
<a class="Identifier" href="scroll.html#zH">zH</a>&nbsp;and&nbsp;<a class="Identifier" href="scroll.html#zL">zL</a>&nbsp;commands: Horizontal scrolling by half a page.<br>
<a class="Identifier" href="motion.html#gm">gm</a>&nbsp;move cursor to middle of screen line. (Ideas by Campbell)<br>
<br>
Operations on Visual blocks:&nbsp;<a class="Identifier" href="visual.html#v_b_I">v_b_I</a>,&nbsp;<a class="Identifier" href="visual.html#v_b_A">v_b_A</a>,&nbsp;<a class="Identifier" href="visual.html#v_b_c">v_b_c</a>,&nbsp;<a class="Identifier" href="visual.html#v_b_C">v_b_C</a>,&nbsp;<a class="Identifier" href="visual.html#v_b_r">v_b_r</a>,<br>
<a class="Identifier" href="visual.html#v_b_<">v_b_&lt;</a>&nbsp;and&nbsp;<a class="Identifier" href="visual.html#v_b_>">v_b_&gt;</a>. (Kelly)<br>
<br>
New command:&nbsp;<span class="Special">CTRL-\</span>&nbsp;<span class="Special">CTRL-N</span>, which does nothing in Normal mode, and goes to<br>
Normal mode when in Insert or Command-line mode.&nbsp;&nbsp;Can be used by VisVim or<br>
other OLE programs to make sure Vim is in Normal mode, without causing a beep.<br>
<a class="Identifier" href="intro.html#CTRL-\_CTRL-N">CTRL-\_CTRL-N</a><br>
<br>
&quot;:cscope kill&quot; command to use the connection filename.&nbsp;<a class="Identifier" href="if_cscop.html#:cscope">:cscope</a>&nbsp;(Kahn)<br>
<br>
<a class="Identifier" href="insert.html#:startinsert">:startinsert</a>&nbsp;command: Start Insert mode next.<br>
<br>
<a class="Identifier" href="cmdline.html#:history">:history</a>&nbsp;command, to show all four types of histories. (Roemer)<br>
<br>
<a class="Identifier" href="motion.html#[m">[m</a>,&nbsp;<a class="Identifier" href="motion.html#[M">[M</a>,&nbsp;<a class="Identifier" href="motion.html#]m">]m</a>&nbsp;and&nbsp;<a class="Identifier" href="motion.html#]M">]M</a>&nbsp;commands, for jumping backward/forward to start/end<br>
of method in a (Java) class.<br>
<br>
&quot;:@*&quot; executes the * register.&nbsp;<a class="Identifier" href="repeat.html#:@">:@</a>&nbsp;(Acevedo)<br>
<br>
<a class="Identifier" href="motion.html#go">go</a>&nbsp;and&nbsp;<a class="Identifier" href="motion.html#:goto">:goto</a>&nbsp;commands: Jump to byte offset in the file.<br>
<br>
<a class="Identifier" href="change.html#gR">gR</a>&nbsp;and&nbsp;<a class="Identifier" href="change.html#gr">gr</a>&nbsp;command: Virtual Replace mode.&nbsp;&nbsp;Replace characters without<br>
changing the layout. (Webb)<br>
<br>
&quot;:cd -&quot; changes to the directory from before the previous &quot;:cd&quot; command.<br>
<a class="Identifier" href="editing.html#:cd-">:cd-</a>&nbsp;(Webb)<br>
<br>
Tag preview commands&nbsp;<a class="Identifier" href="windows.html#:ptag">:ptag</a>.&nbsp;&nbsp;Shows the result of a &quot;:tag&quot; in a dedicated<br>
window.&nbsp;&nbsp;Can be used to see the context of the tag (e.g., function arguments).<br>
(Negri)<br>
<a class="Identifier" href="windows.html#:pclose">:pclose</a>&nbsp;command, and&nbsp;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">CTRL-Z</span>: Close preview window. (Moore)<br>
<a class="Type" href="options.html#'previewheight'">'previewheight'</a>&nbsp;option, height for the preview window.<br>
Also&nbsp;<a class="Identifier" href="windows.html#:ppop">:ppop</a>,&nbsp;<a class="Identifier" href="tagsrch.html#:ptnext">:ptnext</a>,&nbsp;<a class="Identifier" href="tagsrch.html#:ptprevious">:ptprevious</a>,&nbsp;<a class="Identifier" href="tagsrch.html#:ptNext">:ptNext</a>,&nbsp;<a class="Identifier" href="tagsrch.html#:ptrewind">:ptrewind</a>,&nbsp;<a class="Identifier" href="tagsrch.html#:ptlast">:ptlast</a>.<br>
<br>
<a class="Identifier" href="editing.html#:find">:find</a>&nbsp;and&nbsp;<a class="Identifier" href="windows.html#:sfind">:sfind</a>&nbsp;commands: Find a file in&nbsp;<a class="Type" href="options.html#'path'">'path'</a>, (split window) and edit<br>
it.<br>
<br>
The&nbsp;<a class="Identifier" href="options.html#:options">:options</a>&nbsp;command opens an option window that shows the current option<br>
values.&nbsp;&nbsp;Or use &quot;:browse set&quot; to open it.&nbsp;&nbsp;Options are grouped by function.<br>
Offers short help on each option.&nbsp;&nbsp;Hit&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;to jump to more help.&nbsp;&nbsp;Edit the<br>
option value and hit&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;on a &quot;set&quot; line to set a new value.<br>
<br>
<br>
Various new options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-options-5.4" name="new-options-5.4">new-options-5.4</a><br>
<span class="PreProc">-------------------</span><br>
<br>
Scroll-binding:&nbsp;<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'scrollopt'">'scrollopt'</a>&nbsp;options.&nbsp;&nbsp;Added&nbsp;<a class="Identifier" href="scroll.html#:syncbind">:syncbind</a><br>
command.&nbsp;&nbsp;Makes windows scroll the same amount (horizontally and/or<br>
vertically). (Ralston)<br>
<br>
<a class="Type" href="options.html#'conskey'">'conskey'</a>&nbsp;option for MS-DOS.&nbsp;&nbsp;Use direct console I/O.&nbsp;&nbsp;This should work with<br>
telnet (untested!).<br>
<br>
<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;option: Configurable contents of the status line.&nbsp;&nbsp;Also allows<br>
showing the byte offset in the file.&nbsp;&nbsp;Highlighting with %1* to %9*, using the<br>
new highlight groups User1 to User9.&nbsp;&nbsp;(Madsen)<br>
<br>
<a class="Type" href="options.html#'rulerformat'">'rulerformat'</a>&nbsp;option: Configurable contents of the ruler, like&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>.<br>
(Madsen)<br>
<br>
<a class="Type" href="options.html#'write'">'write'</a>&nbsp;option: When off, writing files is not allowed.&nbsp;&nbsp;Avoids overwriting a<br>
file even with &quot;:w!&quot;.&nbsp;&nbsp;The&nbsp;<a class="Identifier" href="starting.html#-m">-m</a>&nbsp;command line option resets&nbsp;<a class="Type" href="options.html#'write'">'write'</a>.<br>
<br>
<a class="Type" href="options.html#'clipboard'">'clipboard'</a>&nbsp;option: How the clipboard is used.&nbsp;&nbsp;Value &quot;unnamed&quot;: Use unnamed<br>
register like &quot;*. (Cortopassi)&nbsp;&nbsp;Value &quot;autoselect&quot;: Like what 'a' in<br>
<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;does but works in the terminal.<br>
<br>
<a class="Type" href="options.html#'guifontset'">'guifontset'</a>&nbsp;option: Specify fonts for the +fontset feature, for the X11 GUI<br>
versions.&nbsp;&nbsp;Allows using normal fonts when vim is compiled with this feature.<br>
(Nam)<br>
<br>
<a class="Type" href="options.html#'guiheadroom'">'guiheadroom'</a>&nbsp;option: How much room to allow above/below the GUI window.<br>
Used for Motif, Athena and GTK.<br>
<br>
Implemented&nbsp;<a class="Type" href="options.html#'tagstack'">'tagstack'</a>&nbsp;option: When off, pushing tags onto the stack is<br>
disabled (Vi compatible).&nbsp;&nbsp;Useful for mappings.<br>
<br>
<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;option.&nbsp;&nbsp;Only for systems that use a backslash as a file<br>
separator.&nbsp;&nbsp;This option will use a forward slash in file names when expanding<br>
it.&nbsp;&nbsp;Useful when&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;is sh or csh.<br>
<br>
<a class="Type" href="options.html#'pastetoggle'">'pastetoggle'</a>&nbsp;option: Key sequence that toggles&nbsp;<a class="Type" href="options.html#'paste'">'paste'</a>.&nbsp;&nbsp;Works around the<br>
problem that mappings don't work in Insert mode when&nbsp;<a class="Type" href="options.html#'paste'">'paste'</a>&nbsp;is set.<br>
<br>
<a class="Type" href="options.html#'display'">'display'</a>&nbsp;option: When set to &quot;lastline&quot;, the last line fills the window,<br>
instead of being replaced with &quot;@&quot; lines.&nbsp;&nbsp;Only the last three characters are<br>
replaced with &quot;@@@&quot;, to indicate that the line has not finished yet.<br>
<br>
<a class="Type" href="options.html#'switchbuf'">'switchbuf'</a>&nbsp;option: Allows re-using existing windows on a buffer that is being<br>
jumped to, or split the window to open a new buffer. (Roemer)<br>
<br>
<a class="Type" href="options.html#'titleold'">'titleold'</a>&nbsp;option.&nbsp;&nbsp;Replaces the fixed string &quot;Thanks for flying Vim&quot;, which<br>
is used to set the title when exiting. (Schild)<br>
<br>
<br>
Vim scripts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#new-script-5.4" name="new-script-5.4">new-script-5.4</a><br>
<span class="PreProc">-----------</span><br>
<br>
The&nbsp;<a class="Identifier" href="eval.html#exists()">exists()</a>&nbsp;function can also check for existence of a function. (Roemer)<br>
An internal function is now found with a binary search, should be a bit<br>
faster. (Roemer)<br>
<br>
New functions:<br>
-&nbsp;<a class="Identifier" href="eval.html#getwinposx()">getwinposx()</a>&nbsp;and&nbsp;<a class="Identifier" href="eval.html#getwinposy()">getwinposy()</a>: get Vim window position. (Webb)<br>
-&nbsp;<a class="Identifier" href="eval.html#histnr()">histnr()</a>,&nbsp;<a class="Identifier" href="eval.html#histadd()">histadd()</a>,&nbsp;<a class="Identifier" href="eval.html#histget()">histget()</a>&nbsp;and&nbsp;<a class="Identifier" href="eval.html#histdel()">histdel()</a>: Make history<br>
&nbsp;&nbsp;available. (Roemer)<br>
-&nbsp;<a class="Identifier" href="eval.html#maparg()">maparg()</a>: Returns rhs of a mapping.&nbsp;&nbsp;Based on a patch from Vikas.<br>
-&nbsp;<a class="Identifier" href="eval.html#mapcheck()">mapcheck()</a>: Check if a map name matches with an existing one.<br>
-&nbsp;<a class="Identifier" href="eval.html#visualmode()">visualmode()</a>: Return type of last Visual mode. (Webb)<br>
-&nbsp;<a class="Identifier" href="eval.html#libcall()">libcall()</a>: Call a function in a library.&nbsp;&nbsp;Currently only for Win32. (Negri)<br>
-&nbsp;<a class="Identifier" href="eval.html#bufwinnr()">bufwinnr()</a>: find window that contains the specified buffer. (Roemer)<br>
-&nbsp;<a class="Identifier" href="eval.html#bufloaded()">bufloaded()</a>: Whether a buffer exists and is loaded.<br>
-&nbsp;<a class="Identifier" href="eval.html#localtime()">localtime()</a>&nbsp;and&nbsp;<a class="Identifier" href="eval.html#getftime()">getftime()</a>: wall clock time and last modification time<br>
&nbsp;&nbsp;of a file (Webb)<br>
-&nbsp;<a class="Identifier" href="eval.html#glob()">glob()</a>: expand file name wildcards only.<br>
-&nbsp;<a class="Identifier" href="eval.html#system()">system()</a>: get the raw output of an external command. (based on a patch<br>
&nbsp;&nbsp;from Aaron).<br>
-&nbsp;<a class="Identifier" href="eval.html#strtrans()">strtrans()</a>: Translate String into printable characters.&nbsp;&nbsp;Used for<br>
&nbsp;&nbsp;2html.vim script.<br>
-&nbsp;<a class="Identifier" href="eval.html#append()">append()</a>: easy way to append a line of text in a buffer.<br>
<br>
Changed functions:<br>
- Optional argument to&nbsp;<a class="Identifier" href="eval.html#strftime()">strftime()</a>&nbsp;to give the time in seconds. (Webb)<br>
-&nbsp;<a class="Identifier" href="eval.html#expand()">expand()</a>&nbsp;now also returns names for files that don't exist.<br>
<br>
Allow numbers in the name of a user command. (Webb)<br>
<br>
Use &quot;v:&quot; for internal Vim variables: &quot;v:errmsg&quot;, &quot;v:shell_error&quot;, etc.&nbsp;&nbsp;The<br>
ones from version 5.3 can be used without &quot;v:&quot; too, for backwards<br>
compatibility.<br>
<br>
New variables:<br>
&quot;v:warningmsg&quot; and &quot;v:statusmsg&quot; internal variables.&nbsp;&nbsp;Contain the last given<br>
warning and status message.&nbsp;<a class="Identifier" href="eval.html#v:warningmsg">v:warningmsg</a>&nbsp;<a class="Identifier" href="eval.html#v:statusmsg">v:statusmsg</a>&nbsp;(Madsen)<br>
&quot;v:count1&quot; variable: like &quot;v:count&quot;, but defaults to one when no count is<br>
used.&nbsp;<a class="Identifier" href="eval.html#v:count1">v:count1</a><br>
<br>
When compiling without expression evaluation, &quot;if 1&quot; can be used around the<br>
not supported commands to avoid it being executed.&nbsp;&nbsp;Works like in Vim 4.x.<br>
Some of the runtime scripts gave errors when used with a Vim that was compiled<br>
with minimal features.&nbsp;&nbsp;Now &quot;if 1&quot; is used around code that is not always<br>
supported.<br>
<br>
When evaluating an expression with &amp;&amp; and ||, skip the parts that will not<br>
influence the outcome.&nbsp;&nbsp;This makes it faster and avoids error messages. (Webb)<br>
Also optimized the skipping of expressions inside an &quot;if 0&quot;.<br>
<br>
<br>
Avoid hit-enter prompt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#avoid-hit-enter" name="avoid-hit-enter">avoid-hit-enter</a><br>
<span class="PreProc">-----------------------</span><br>
<br>
Added 'T' flag to&nbsp;<a class="Type" href="options.html#'shortmess'">'shortmess'</a>: Truncate all messages that would cause the<br>
hit-enter prompt (unless that would happen anyway).<br>
The 'O' flag in&nbsp;<a class="Type" href="options.html#'shortmess'">'shortmess'</a>&nbsp;now also applies to quickfix messages, e.g., from<br>
the &quot;:cn&quot; command.<br>
<br>
The default for&nbsp;<a class="Type" href="options.html#'shortmess'">'shortmess'</a>&nbsp;is now &quot;filnxtToO&quot;, to make most messages fit on<br>
the command line, and not cause the hit-enter prompt.<br>
<br>
Previous messages can be viewed with the new&nbsp;<a class="Identifier" href="message.html#:messages">:messages</a>&nbsp;command.<br>
<br>
Some messages are shown fully, even when&nbsp;<a class="Type" href="options.html#'shortmess'">'shortmess'</a>&nbsp;tells to shorten<br>
messages, because the user is expected to want to see them in full:&nbsp;<span class="Special">CTRL-G</span>&nbsp;and<br>
some quickfix commands.<br>
<br>
<br>
Improved quickfix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#improved-quickfix" name="improved-quickfix">improved-quickfix</a><br>
<span class="PreProc">-----------------</span><br>
<br>
Parse change-directory lines for gmake: &quot;make[1]: Entering directory&nbsp;<span class="MissingTag">'name'</span>&quot;.<br>
Uses &quot;%D&quot; and &quot;%X&quot; in&nbsp;<a class="Type" href="options.html#'errorformat'">'errorformat'</a>.<br>
Also parse &quot;Making&nbsp;<span class="Special">{target}</span>&nbsp;in&nbsp;<span class="Special">{dir}</span>&quot; messages from make.&nbsp;&nbsp;Helps when not<br>
using GNU make. (Schandl)<br>
<br>
Use&nbsp;<a class="Type" href="options.html#'isfname'">'isfname'</a>&nbsp;for &quot;%f&quot; in&nbsp;<a class="Type" href="options.html#'errorformat'">'errorformat'</a>.<br>
<br>
Parsing of multi-line messages.&nbsp;<a class="Identifier" href="quickfix.html#errorformat-multi-line">errorformat-multi-line</a><br>
<br>
Allow a range for the&nbsp;<a class="Identifier" href="quickfix.html#:clist">:clist</a>&nbsp;command. (Roemer)<br>
<br>
Support for &quot;global&quot; file names, for error formats that output the file name<br>
once for several errors. (Roemer)<br>
<br>
<a class="Identifier" href="quickfix.html#:cnfile">:cnfile</a>&nbsp;jumps to first error in next file.<br>
<br>
&quot;$*&quot; in&nbsp;<a class="Type" href="options.html#'makeprg'">'makeprg'</a>&nbsp;is replaced by arguments to &quot;:make&quot;. (Roemer)<br>
<br>
<br>
Regular expressions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#regexp-changes-5.4" name="regexp-changes-5.4">regexp-changes-5.4</a><br>
<span class="PreProc">-------------------</span><br>
<br>
In a regexp, a '$' before &quot;\)&quot; is also considered to be an end-of-line.&nbsp;<a class="Identifier" href="pattern.html#/$">/$</a><br>
In patterns &quot;^&quot; after &quot;\|&quot; or &quot;\(&quot; is a start-of-line.&nbsp;<a class="Identifier" href="pattern.html#/^">/^</a>&nbsp;(Robinson)<br>
<br>
In a regexp, in front of &quot;\)&quot; and &quot;\|&quot; both &quot;$&quot; and &quot;\$&quot; were considered<br>
end-of-line.&nbsp;&nbsp;Now use &quot;$&quot; as end-of-line and &quot;\$&quot; for a literal dollar.&nbsp;&nbsp;Same<br>
for '^' after &quot;\(&quot; and &quot;\|&quot;.&nbsp;<a class="Identifier" href="pattern.html#/\$">/\$</a>&nbsp;<a class="Identifier" href="pattern.html#/\^">/\^</a><br>
<br>
Some search patterns can be extremely slow, even though they are not really<br>
illegal.&nbsp;&nbsp;For example: &quot;\([^a-z]\+\)\+Q&quot;.&nbsp;&nbsp;Allow interrupting any regexp<br>
search with&nbsp;<span class="Special">CTRL-C</span>.<br>
<br>
Register &quot;/: last search string (read-only). (Kohan)&nbsp;&nbsp;Changed to use last used<br>
search pattern (like what&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;uses).&nbsp;&nbsp;Can set the search pattern with<br>
&quot;:let @/ =&nbsp;<span class="Special">{expr}</span>&quot;.<br>
<br>
Added character classes to search patterns, to avoid the need for removing the<br>
'l' flag from&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>:&nbsp;<a class="Identifier" href="pattern.html#[:tab:]">[:tab:]</a>,&nbsp;<a class="Identifier" href="pattern.html#[:return:]">[:return:]</a>,&nbsp;<a class="Identifier" href="pattern.html#[:backspace:]">[:backspace:]</a>&nbsp;and<br>
<a class="Identifier" href="pattern.html#[:escape:]">[:escape:]</a>.<br>
<br>
By adding a '?' after a comparative operator in an expression, the comparison<br>
is done by ignoring case.&nbsp;<a class="Identifier" href="eval.html#expr-==?">expr-==?</a><br>
<br>
<br>
Other improvements made between version 5.3 and 5.4<br>
<span class="PreProc">---------------------------------------------------</span><br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.4" name="changed-5.4">changed-5.4</a><br>
<span class="PreProc">-------</span><br>
<br>
Unix: Use $TMPDIR for temporary files, if it is set and exists.<br>
<br>
Removed &quot;Empty buffer&quot; message.&nbsp;&nbsp;It isn't useful and can cause a hit-enter<br>
prompt. (Negri)<br>
<br>
&quot;ex -&quot; now reads commands from stdin and works in silent mode.&nbsp;&nbsp;This is to be<br>
compatible with the original &quot;ex&quot; command that is used for scripts.<br>
<br>
Default range for &quot;:tcldo&quot; is the whole file.<br>
<br>
Cancelling Visual mode with ESC moved the cursor.&nbsp;&nbsp;There appears to be no<br>
reason for this.&nbsp;&nbsp;Now leave the cursor where it is.<br>
<br>
The &quot;:grep&quot; and &quot;:make&quot; commands see &quot; as part of the arguments, instead of<br>
the start of a comment.<br>
<br>
In expressions the &quot;=~&quot; and &quot;!~&quot; operators no longer are affected by<br>
<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>.<br>
<br>
Renamed vimrc_example to vimrc_example.vim and gvimrc_example to<br>
gvimrc_example.vim.&nbsp;&nbsp;Makes them being recognized as vim scripts.<br>
<br>
&quot;gd&quot; no longer starts searching at the end of the previous function, but at<br>
the first blank line above the start of the current function.&nbsp;&nbsp;Avoids that<br>
using &quot;gd&quot; in the first function finds global a variable.<br>
<br>
Default for&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;changed from &quot;.,b&quot; to &quot;.,w,b,u,t,i&quot;.&nbsp;&nbsp;Many more matches<br>
will be found, at the cost of time (the search can be interrupted).<br>
<br>
It is no longer possible to set 'shell*' options from a modeline.&nbsp;&nbsp;Previously<br>
only a warning message was given.&nbsp;&nbsp;This reduces security risks.<br>
<br>
The ordering of the index of documentation files was changed to make it more<br>
easy to find a subject.<br>
<br>
On MS-DOS and win32, when $VIM was not set, $HOME was used.&nbsp;&nbsp;This caused<br>
trouble if $HOME was set to e.g., &quot;C:\&quot; for some other tool, the runtime files<br>
would not be found.&nbsp;&nbsp;Now use $HOME only for _vimrc, _gvimrc, etc., not to find<br>
the runtime file.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'tags'">'tags'</a>&nbsp;is &quot;./<span class="Special">{fname}</span>&quot; and there is no file name for the current buffer,<br>
just use it.&nbsp;&nbsp;Previously it was skipped, causing &quot;vim -t&nbsp;<span class="Special">{tag}</span>&quot; not to find<br>
many tags.<br>
<br>
When trying to select text in the&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;area by mouse dragging, the<br>
resulting scrolling made this difficult.&nbsp;&nbsp;Now&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;is temporarily set<br>
to 0 or 1 to avoid this.&nbsp;&nbsp;But still allow scrolling in the top line to extend<br>
to above the displayed text.<br>
<br>
Default for&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;now includes &quot;sl:/*,mb: *,ex:*/&quot;, to make javadoc<br>
comments work.&nbsp;&nbsp;Also helps for C comments that start with &quot;/*******&quot;.<br>
<br>
<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-]</span>&nbsp;Insert mode tag expansion tried to expand to all tags when used<br>
after a non-ID character, which can take a very long time.&nbsp;&nbsp;Now limit this to<br>
200 matches.&nbsp;&nbsp;Also used for command-line tag completion.<br>
<br>
The OS/2 distribution has been split in two files.&nbsp;&nbsp;It was too big to fit on a<br>
floppy.&nbsp;&nbsp;The same runtime archive as for the PC is now used.<br>
<br>
In the documentation, items like&nbsp;<span class="Special">&lt;a-z&gt;</span>&nbsp;have been replaced with&nbsp;<span class="Special">{a-z}</span>&nbsp;for<br>
non-optional arguments.&nbsp;&nbsp;This avoids confusion with key names:&nbsp;<span class="Special">&lt;C-Z&gt;</span>&nbsp;is a<br>
<span class="Special">CTRL-Z</span>, not a character between C and Z, that is&nbsp;<span class="Special">{C-Z}</span>.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.4" name="added-5.4">added-5.4</a><br>
<span class="PreProc">-----</span><br>
<br>
Color support for the iris-ansi builtin termcap entry. (Tubman)<br>
<br>
Included VisVim version 1.3a. (Erhardt)<br>
<br>
Win32 port for SNiFF+ interface. (Leherbauer)<br>
Documentation file for sniff interface: if_sniff.txt. (Leherbauer)<br>
<br>
Included the &quot;SendToVim&quot; and &quot;OpenWithVim&quot; programs in the OleVim directory.<br>
To be used with the OLE version of gvim under MS-Windows. (Schaller)<br>
<br>
Included Exuberant Ctags version 3.2.4 with Eiffel support. (Hiebert)<br>
<br>
When a file that is being edited is deleted, give a warning (like when the<br>
time stamp changed).<br>
<br>
Included newer versions of the HTML-generating Awk and Perl scripts. (Colombo)<br>
<br>
Linux console mouse support through &quot;gpm&quot;. (Tsindlekht)<br>
<br>
Security fix: Disallow changing&nbsp;<a class="Type" href="options.html#'secure'">'secure'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'exrc'">'exrc'</a>&nbsp;from a modeline.&nbsp;&nbsp;When<br>
<a class="Type" href="options.html#'secure'">'secure'</a>&nbsp;is set, give a warning for changing options that contain a program<br>
name.<br>
<br>
Made the Perl interface work with Perl 5.005 and threads. (Verdoolaege)<br>
<br>
When giving an error message for an ambiguous mapping, include the offending<br>
mapping. (Roemer)<br>
<br>
Command line editing:<br>
- Command line completion of mappings. (Roemer)<br>
- Command line completion for &quot;:function&quot;, &quot;:delfunction&quot;, &quot;:let&quot;, &quot;:call&quot;,<br>
&nbsp;&nbsp;&quot;:if&quot;, etc. (Roemer)<br>
- When using&nbsp;<span class="Special">CTRL-D</span>&nbsp;completion for user commands that have<br>
&nbsp;&nbsp;&quot;-complete=tag_listfiles&quot; also list the file names.&nbsp;&nbsp;(Madsen)<br>
- Complete the arguments of the &quot;:command&quot; command. (Webb)<br>
-&nbsp;<span class="Special">CTRL-R</span>&nbsp;. in command line inserts last inserted text.&nbsp;&nbsp;<span class="Special">CTRL-F</span>,&nbsp;<span class="Special">CTRL-P</span>,&nbsp;<span class="Special">CTRL-W</span><br>
&nbsp;&nbsp;and&nbsp;<span class="Special">CTRL-A</span>&nbsp;after&nbsp;<span class="Special">CTRL-R</span>&nbsp;are used to insert an object from under the cursor.<br>
&nbsp;&nbsp;(Madsen)<br>
<br>
Made the text in uganda.txt about copying Vim a bit more clear.<br>
<br>
Updated the Vim tutor.&nbsp;&nbsp;Added the &quot;vimtutor&quot; command, which copies the tutor<br>
and starts Vim on it.&nbsp;&nbsp;&quot;make install&quot; now also copies the tutor.<br>
<br>
In the output of &quot;:clist&quot; the current entry is highlighted, with the 'i'<br>
highlighting (same as used for&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>).<br>
<br>
For the &quot;:clist&quot; command, you can scroll backwards with &quot;b&quot; (one screenful),<br>
&quot;u&quot; (half a screenful) and &quot;k&quot; (one line).<br>
<br>
Multi-byte support:<br>
- X-input method for multi-byte characters.&nbsp;&nbsp;And various fixes for multi-byte<br>
&nbsp;&nbsp;support. (Nam)<br>
- Hangul input method feature:&nbsp;<a class="Identifier" href="hangulin.html#hangul">hangul</a>. (Nam)<br>
- Cleaned up configuration of multi-byte support, XIM, fontset and Hangul<br>
&nbsp;&nbsp;input.&nbsp;&nbsp;Each is now configurable separately.<br>
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)<br>
- Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam)<br>
- XIM support for GTK+. (Nam)<br>
- First attempt to include support for SJIS encoding. (Nagano)<br>
- When a double-byte character doesn't fit at the end of the line, put a &quot;~&quot;<br>
&nbsp;&nbsp;there and print it on the next line.<br>
- Optimize output of multi-byte text. (Park)<br>
- Win32 IME: preedit style is like over-the-spot. (Nagano)<br>
- Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano)<br>
- GUI Athena: file selection dialog can display multi-byte characters.<br>
&nbsp;&nbsp;(Nagano)<br>
- Selection reply for XA_TEXT as XA_STRING. (Nagano)<br>
<br>
&quot;runtime/macros/diffwin.vim&quot;.&nbsp;&nbsp;Mappings to make a diff window. (Campbell)<br>
<br>
Added &quot;.obj&quot; to the&nbsp;<a class="Type" href="options.html#'suffixes'">'suffixes'</a>&nbsp;option.<br>
<br>
Reduced size of syntax/synload.vim by using the &quot;:SynAu&quot; user command.<br>
Automated numbering of Syntax menu entries in menu.vim.<br>
In the Syntax menu, insert separators between syntax names that start with<br>
a different letter. (Geddes)<br>
<br>
Xterm:<br>
- Clipboard support when using the mouse in an xterm. (Madsen)<br>
- When using the xterm mouse, track dragging of the mouse.&nbsp;&nbsp;Use xterm escape<br>
&nbsp;&nbsp;sequences when possible.&nbsp;&nbsp;It is more precise than other methods, but<br>
&nbsp;&nbsp;requires a fairly recent xterm version.&nbsp;&nbsp;It is enabled with &quot;xterm2&quot; in<br>
&nbsp;&nbsp;<a class="Type" href="options.html#'ttymouse'">'ttymouse'</a>.&nbsp;&nbsp;(Madsen)<br>
- Check xterm patch level, to set the value of&nbsp;<a class="Type" href="options.html#'ttymouse'">'ttymouse'</a>.&nbsp;&nbsp;Has only been<br>
&nbsp;&nbsp;added to xterm recently (patch level &gt; 95).&nbsp;&nbsp;Uses the new&nbsp;<a class="Type" href="term.html#'t_RV'">'t_RV'</a>&nbsp;termcap<br>
&nbsp;&nbsp;option.&nbsp;&nbsp;Set&nbsp;<a class="Type" href="options.html#'ttymouse'">'ttymouse'</a>&nbsp;to &quot;xterm2&quot; when a correct response is recognized.<br>
&nbsp;&nbsp;Will make xterm mouse dragging work better.<br>
- Support for shifted function keys on xterm.&nbsp;&nbsp;Changed codes for shifted<br>
&nbsp;&nbsp;cursor keys to what the xterm actually produces.&nbsp;&nbsp;Added codes for shifted<br>
&nbsp;&nbsp;<span class="Special">&lt;End&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;Home&gt;</span>.<br>
- Added&nbsp;<a class="Type" href="term.html#'t_WP'">'t_WP'</a>&nbsp;to set the window position in pixels and&nbsp;<a class="Type" href="term.html#'t_WS'">'t_WS'</a>&nbsp;to set the<br>
&nbsp;&nbsp;window size in characters.&nbsp;&nbsp;Xterm can now move (used for &quot;:winpos&quot;) and<br>
&nbsp;&nbsp;resize (use for &quot;:set lines=&quot; and &quot;:set columns=&quot;).<br>
<br>
X11:<br>
- When in Visual mode but not owning the selection, display the Visual area<br>
&nbsp;&nbsp;with the VisualNOS group to show this. (Madsen)<br>
- Support for requesting the type of clipboard support.&nbsp;&nbsp;Used for AIX and<br>
&nbsp;&nbsp;dtterm. (Wittig)<br>
- Support compound_text selection (even when compiled without multi-byte).<br>
<br>
Swap file:<br>
- New variation for naming swap files: Replace path separators into %, place<br>
&nbsp;&nbsp;all swap files in one directory.&nbsp;&nbsp;Used when a name in&nbsp;<a class="Type" href="options.html#'dir'">'dir'</a>&nbsp;ends in two path<br>
&nbsp;&nbsp;separators. (Madsen)<br>
- When a swap file is found, show whether it contains modifications or not in<br>
&nbsp;&nbsp;the informative message. (Madsen)<br>
- When dialogs are supported, use a dialog to ask the user what to do when a<br>
&nbsp;&nbsp;swapfile already exists.<br>
<br>
&quot;popup_setpos&quot; in&nbsp;<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a>&nbsp;option.&nbsp;&nbsp;Allows for moving the cursor when<br>
using the right mouse button.<br>
<br>
When a buffer is deleted, the selection for which buffer to display instead<br>
now uses the most recent entry from the jump list. (Madsen)<br>
<br>
When using&nbsp;<span class="Special">CTRL-O</span>/<span class="Special">CTRL-I</span>, skip deleted buffers.<br>
<br>
A percentage is shown in the ruler, when there is room.<br>
<br>
Used autoconf 1.13 to generate configure.<br>
<br>
Included get_lisp_indent() from Dirk van Deun.&nbsp;&nbsp;Does better Lisp indenting<br>
when 'p' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;is not included.<br>
<br>
Made the 2html.vim script quite a bit faster.&nbsp;&nbsp;(based on ideas from Geddes)<br>
<br>
Unix:<br>
- Included the name of the user that compiled Vim and the system name it was<br>
&nbsp;&nbsp;compiled on in the version message.<br>
- &quot;make install&quot; now also installs the &quot;tools&quot; directory.&nbsp;&nbsp;Makes them<br>
&nbsp;&nbsp;available for everybody.<br>
- &quot;make check&quot; now does the same as &quot;make test&quot;.&nbsp;&nbsp;&quot;make test&quot; checks for<br>
&nbsp;&nbsp;Visual block mode shift, insert, replace and change.<br>
- Speed up comparing a file name with existing buffers by storing the<br>
&nbsp;&nbsp;device/inode number with the buffer.<br>
- Added configure arguments &quot;--disable-gtk&quot;, &quot;--disable-motif&quot; and<br>
&nbsp;&nbsp;&quot;--disable-athena&quot;, to be able to disable a specific GUI (when it doesn't<br>
&nbsp;&nbsp;work).<br>
- Renamed the configure arguments for disabling the check for specific GUIs.<br>
&nbsp;&nbsp;Should be clearer now. (Kahn)<br>
- On a Digital Unix system (&quot;OSF1&quot;) check for the curses library before<br>
&nbsp;&nbsp;termlib and termcap. (Schild)<br>
- &quot;make uninstall_runtime&quot; will only delete the version-specific files.&nbsp;&nbsp;Can<br>
&nbsp;&nbsp;be used to delete the runtime files of a previous version.<br>
<br>
Macintosh: (St-Amant)<br>
- Dragging the scrollbar, like it's done for the Win32 GUI.&nbsp;&nbsp;Moved common code<br>
&nbsp;&nbsp;from gui_w32.c to gui.c<br>
- Added dialogs and file browsing.<br>
- Resource fork preserved, warning when it will be lost.<br>
- Copy original file attributes to newly written file.<br>
- Set title/notitle bug solved.<br>
- Filename completion improved.<br>
- Grow box limit resize to a char by char size.<br>
- Use of rgb.txt for more colors (but give back bad color).<br>
- Apple menu works (beside the about...).<br>
- Internal border now vim compliant.<br>
- Removing a menu doesn't crash anymore.<br>
- Weak-linking of Python 1.5.1 (only on PPC).&nbsp;&nbsp;Python is supported when the<br>
&nbsp;&nbsp;library is available.<br>
- If an error is encountered when sourcing the users .vimrc, the alert box now<br>
&nbsp;&nbsp;shows right away with the OK button defaulted.&nbsp;&nbsp;There's no more &quot;Delete&quot;-key<br>
&nbsp;&nbsp;sign at the start of each line<br>
- Better management of environment variables.&nbsp;&nbsp;Now $VIM is calculated only<br>
&nbsp;&nbsp;once, not regenerated every time it is used.<br>
- No more CPU hog when in background.<br>
- In a sourced Vim script the Mac file format can be recognized, just like DOS<br>
&nbsp;&nbsp;file format is.<br>
<br>
When both &quot;unix&quot; and &quot;mac&quot; are present in&nbsp;<a class="Type" href="options.html#'fileformats'">'fileformats'</a>, prefer &quot;mac&quot; format<br>
when there are more CR than NL characters.<br>
When using &quot;mac&quot; fileformat, use CR instead of a NL, because NL is used for<br>
NUL.&nbsp;&nbsp;Will preserve all characters in a file. (Madsen)<br>
<br>
The DOS install.exe now contains checks for an existing installation.&nbsp;&nbsp;It<br>
avoids setting $VIM and $PATH again.<br>
The install program for Dos/Windows can now install Vim in the popup menu, by<br>
adding two registry keys.<br>
<br>
Port to EGCS/mingw32.&nbsp;&nbsp;New Makefile.ming. (Aaron)<br>
<br>
DOS 16 bit: Don't include cursor shape stuff.&nbsp;&nbsp;Save some bytes.<br>
<br>
TCL support to Makefile.w32. (Duperval)<br>
<br>
OS/2: Use argv[0] to find runtime files.<br>
<br>
When using &quot;gf&quot; to go to a buffer that has already been used, jump to the<br>
line where the cursor last was.<br>
<br>
Colored the output of &quot;:tselect&quot; a bit more.&nbsp;&nbsp;Different highlighting between<br>
tag name and file name.&nbsp;&nbsp;Highlight field name (&quot;struct:&quot;) separately from<br>
argument.<br>
<br>
Backtick expansion for non-Unix systems.&nbsp;&nbsp;Based on a patch from Aaron.<br>
Allows the use of things like &quot;:n `grep -l test *.c`&quot; and<br>
&quot;echo expand('`ls m*`')&quot;.<br>
<br>
Check for the&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;option when it is set. (Acevedo)<br>
'd' flag in&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;searches for defined names or macros.<br>
While searching for Insert mode completions in include files and tags files,<br>
check for typeahead, so that you can use matches early. (Webb)<br>
The '.' flag in&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;now scans the current buffer completely, ignoring<br>
<a class="Type" href="options.html#'nowrapscan'">'nowrapscan'</a>.&nbsp;&nbsp;(Webb)<br>
<br>
Added '~' flag to&nbsp;<a class="Type" href="options.html#'whichwrap'">'whichwrap'</a>. (Acevedo)<br>
<br>
When ending the Visual mode (e.g., with ESC) don't grab ownership of the<br>
selection.<br>
<br>
In a color terminal, &quot;fg&quot; and &quot;bg&quot; can be used as color names.&nbsp;&nbsp;They stand for<br>
the &quot;Normal&quot; colors.<br>
<br>
A few cscope cleanups. (Kahn)<br>
<br>
Included changed vimspell.sh from Schemenauer.<br>
<br>
Concatenation of strings in an expression with &quot;.&quot; is a bit faster. (Roemer)<br>
<br>
The &quot;:redir&quot; command can now redirect to a register: &quot;:redir @r&quot;. (Roemer)<br>
<br>
Made the output of &quot;:marks&quot; and &quot;:jumps&quot; look similar.&nbsp;&nbsp;When the mark is in<br>
the current file, show the text at the mark.&nbsp;&nbsp;Also for &quot;:tags&quot;.<br>
<br>
When configure finds ftello() and fseeko(), they are used in tag.c (for when<br>
you have extremely big tags files).<br>
<br>
Configure check for &quot;-FOlimit,2000&quot; argument for the compiler. (Borsenkow)<br>
<br>
GUI:<br>
- When using &quot;:gui&quot; in a non-GUI Vim, give a clear error message.<br>
- &quot;gvim -v&quot; doesn't start the GUI (if console support is present).<br>
- When in Ex mode, use non-Visual selection for the whole screen.<br>
- When starting with &quot;gvim -f&quot; and using &quot;:gui&quot; in the .gvimrc file, Vim<br>
&nbsp;&nbsp;forked anyway.&nbsp;&nbsp;Now the &quot;-f&quot; flag is remembered for &quot;:gui&quot;.&nbsp;&nbsp;Added &quot;gui -b&quot;<br>
&nbsp;&nbsp;to run gvim in the background anyway.<br>
<br>
Motif GUI:<br>
- Check for &quot;-lXp&quot; library in configure (but it doesn't work yet...).<br>
- Let configure check for Lesstif in &quot;/usr/local/Lesstif/Motif*&quot;.&nbsp;&nbsp;Changed the<br>
&nbsp;&nbsp;order to let a local Motif version override a system standard version.<br>
<br>
Win32 GUI:<br>
- When using &quot;-register&quot; or &quot;-unregister&quot; in the non-OLE version, give an<br>
&nbsp;&nbsp;error message.<br>
- Use GTK toolbar icons.&nbsp;&nbsp;Make window border look better.&nbsp;&nbsp;Use sizing handles<br>
&nbsp;&nbsp;on the lower left&amp;right corners of the window. (Negri)<br>
- When starting an external command with &quot;:!start&quot; and the command can not be<br>
&nbsp;&nbsp;executed, give an error message. (Webb)<br>
- Use sizing handles for the grey rectangles below the scrollbars.&nbsp;&nbsp;Can draw<br>
&nbsp;&nbsp;toolbar in flat mode now, looks better. (Negri)<br>
- Preparations for MS-Windows 3.1 addition.&nbsp;&nbsp;Mostly changing WIN32 to MSWIN<br>
&nbsp;&nbsp;and USE_GUI_WIN32 to USE_GUI_MSWIN. (Negri)<br>
<br>
Avoid allocating the same string four times in buflist_findpat(). (Williams)<br>
<br>
Set title and icon text with termcap options&nbsp;<a class="Type" href="term.html#'t_ts'">'t_ts'</a>,&nbsp;<a class="Type" href="term.html#'t_fs'">'t_fs'</a>,&nbsp;<a class="Type" href="term.html#'t_IS'">'t_IS'</a>&nbsp;and<br>
<a class="Type" href="term.html#'t_IE'">'t_IE'</a>.&nbsp;&nbsp;Allows doing this on any terminal that supports setting the title<br>
and/or icon text. (Schild)<br>
<br>
New 'x' flag in&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>: Automatically insert the end part when its last<br>
character is typed.&nbsp;&nbsp;Helps to close a /* */ comment in C. (Webb)<br>
<br>
When expand() has a second argument which is non-zero, don't use&nbsp;<a class="Type" href="options.html#'suffixes'">'suffixes'</a><br>
and&nbsp;<a class="Type" href="options.html#'wildignore'">'wildignore'</a>, return all matches.<br>
<br>
'O' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;When not included, Vim will not overwrite a file, if<br>
it didn't exist when editing started but it does exist when the buffer is<br>
written to the file.&nbsp;&nbsp;The file must have been created outside of Vim, possibly<br>
without the user knowing it.&nbsp;&nbsp;When this is detected after a shell command,<br>
give a warning message.<br>
<br>
When editing a new file,&nbsp;<span class="Special">CTRL-G</span>&nbsp;will show [New file].&nbsp;&nbsp;When there were errors<br>
while reading the file,&nbsp;<span class="Special">CTRL-G</span>&nbsp;will show [Read errors].<br>
<br>
&quot;:wall&quot; can now use a dialog and file-browsing when needed.<br>
<br>
Grouped functionality into new features, mainly to reduce the size of the<br>
minimal version:<br>
+linebreak:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>,&nbsp;<a class="Type" href="options.html#'breakat'">'breakat'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'linebreak'">'linebreak'</a><br>
+visualextra:&nbsp;&nbsp; &quot;I&quot;nsert and &quot;A&quot;ppend in Visual block mode, &quot;c&quot;hange all lines<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in a block, &quot;&gt;&quot; and &quot;&lt;&quot;: Shifting a block, &quot;r&quot;: Replacing a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Visual area with one character.<br>
+comments:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a><br>
+cmdline_info:&nbsp;&nbsp;<a class="Type" href="options.html#'ruler'">'ruler'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>.&nbsp;&nbsp;Replaces +showcmd.<br>
&quot;+title&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't add code to set title or icon for MSDOS, this was not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;possible anyway.<br>
+cmdline_compl&nbsp;&nbsp;Disable commandline completion at compile time, except for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;files, directories and help items.<br>
<br>
Moved features from a list of function calls into an array.&nbsp;&nbsp;Should save a bit<br>
of space.<br>
<br>
While entering the body of a function, adjust indent according to &quot;if&quot; and<br>
&quot;while&quot; commands.<br>
<br>
VMS: Adjusted os_vms.mms a bit according to suggestions from Arpadffy.<br>
<br>
The flags in the&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;option can now include an offset.&nbsp;&nbsp;This makes it<br>
possible to align &quot;/*****&quot;, &quot;/*&nbsp;&nbsp; xxx&quot; and &quot;/*&quot; comments with the same<br>
<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;setting.&nbsp;&nbsp;The default value for&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;uses this.<br>
Added 'O' flag: Don't use this part for the &quot;O&quot; command.&nbsp;&nbsp;Useful for &quot;set<br>
com=sO:*\ -,mO:*\ \ ,exO:*/&quot;<br>
<br>
FileType autocommands recognize &quot;.bak&quot;, &quot;.orig&quot; and &quot;~&quot; extensions and remove<br>
them to find the relevant extension.<br>
<br>
The tutorial for writing a Vim script file has been extended.<br>
<br>
Some more highlighting in help files, for items that are not typed literally.<br>
<br>
Can use &quot;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">CTRL-G</span>&quot; like &quot;<span class="Special">CTRL-W</span>&nbsp;g&quot;.<br>
<br>
&quot;make test&quot; for OS/2.<br>
<br>
Adjusted configure to automatically use the GUI for BeOS.<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.4" name="fixed-5.4">fixed-5.4</a><br>
<span class="PreProc">-----</span><br>
<br>
5.3.1: When using an autocommand for BufWritePre that changes the name of the<br>
buffer, freed memory would be used. (Geddes)<br>
<br>
Mac: Compiler didn't understand start of skip_class_name().<br>
<br>
Win32 GUI:<br>
- When cancelling the font requester, don't give an error message.<br>
- When a tearoff-menu is open and its menu is deleted, Vim could crash.<br>
&nbsp;&nbsp;(Negri)<br>
- There was a problem on Windows 95 with (un)maximizing the window.<br>
&nbsp;&nbsp;(Williams)<br>
- when&nbsp;<a class="Type" href="options.html#'mousehide'">'mousehide'</a>&nbsp;is set, the mouse would stay hidden when a menu is dropped<br>
&nbsp;&nbsp;with the keyboard. (Ralston)<br>
- The tempname() function already created the file.&nbsp;&nbsp;Caused problems when<br>
&nbsp;&nbsp;using &quot;:w&quot;.&nbsp;&nbsp;Now the file is deleted.<br>
- Cursor disappeared when ending up in the top-left character on the screen<br>
&nbsp;&nbsp;after scrolling. (Webb)<br>
- When adding a submenu for a torn-off menu, it was not updated.<br>
- Menu tooltip was using the toolbar tooltip. (Negri)<br>
- Setting&nbsp;<a class="Type" href="options.html#'notitle'">'notitle'</a>&nbsp;didn't remove the title. (Steed)<br>
- Using &quot;:!start cmd&quot; scrolled the screen one line up, and didn't wait for<br>
&nbsp;&nbsp;return when the command wasn't found.<br>
<br>
Cscope interface: Sorting of matches was wrong.&nbsp;&nbsp;Starting the interface could<br>
fail. (Kahn)<br>
<br>
Motif GUI: Could not compile with Motif 1.1, because some tear-off<br>
functionality was not in #ifdefs.<br>
<br>
Configure could sometimes not compile or link the test program for sizeof(int)<br>
properly.&nbsp;&nbsp;This caused alignment problems for the undo structure allocations.<br>
Added a safety check that SIZEOF_INT is not zero.<br>
<br>
Added configure check to test if strings.h can be included after string.h.<br>
Some systems can't handle it.<br>
Some systems need both string.h and strings.h included.&nbsp;&nbsp;Adjusted vim.h for<br>
that.&nbsp;&nbsp;Removed including string.h from os_unixx.h, since it's already in<br>
vim.h. (Savage)<br>
AIX: defining _NO_PROTO in os_unix.h causes a conflict between string.h and<br>
strings.h, but after the configure check said it was OK.&nbsp;&nbsp;Also define<br>
_NO_PROTO for AIX in the configure check. (Winn)<br>
<br>
When closing a window with&nbsp;<span class="Special">CTRL-W</span>&nbsp;c, the value of&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;was not taken into<br>
account, the buffer was always unloaded. (Negri)<br>
<br>
Unix Makefile: &quot;make install&quot; always tried to rename an older executable and<br>
remove it.&nbsp;&nbsp;This caused an error message when it didn't exit.&nbsp;&nbsp;Added a check<br>
for the existence of an old executable.<br>
The command line for &quot;make install&quot; could get too long, because of the many<br>
syntax files.&nbsp;&nbsp;Now first do a &quot;cd&quot; to reduce the length.<br>
<br>
On RISCOS and MSDOS, reading a file could fail, because the short filename was<br>
used, which can be wrong after a &quot;:!cd&quot;.<br>
<br>
In the DOS versions, the wrong install.exe was included (required Windows).<br>
Now the install.exe version is included that is the same as the Vim version.<br>
This also supports long file names where possible.<br>
<br>
When recording, and stopping while in Insert mode with&nbsp;<span class="Special">CTRL-O</span>&nbsp;q, the&nbsp;<span class="Special">CTRL-O</span><br>
would also be recorded.<br>
<br>
32bit DOS version: &quot;vim \file&quot;, while in a subdirectory, resulted in &quot;new<br>
file&quot; for &quot;file&quot; in the local directory, while &quot;\file&quot; did exist.&nbsp;&nbsp;When<br>
&quot;file&quot; in the current directory existed, this didn't happen.<br>
<br>
MSDOS: Mouse could not go beyond 80 columns in 132 columns mode. (Young)<br>
<br>
&quot;make test&quot; failed in the RedHat RPM, because compatible is off by default.<br>
<br>
In Insert mode&nbsp;<span class="Special">&lt;C-O&gt;&lt;C-W&gt;&lt;C-W&gt;</span>&nbsp;changes to other window, but the status bars<br>
were not updated until another character was typed.<br>
<br>
MSDOS: environment options in lowercase didn't work, although they did in the<br>
Win32 versions. (Negri)<br>
<br>
After &quot;:nohlsearch&quot;, a tag command switched highlighting back on.<br>
<br>
When using &quot;append&quot; command as the last line in an autocommand, Vim would<br>
crash.<br>
<br>
RISCOS: The scroll bumpers (?) were not working properly. (Leonard)<br>
<br>
&quot;zl&quot; and &quot;zh&quot; could move the cursor, but this didn't set the column in which<br>
e.g., &quot;k&quot; would move the cursor.<br>
<br>
When doing &quot;:set all&amp;&quot; the value of&nbsp;<a class="Type" href="options.html#'scroll'">'scroll'</a>&nbsp;was not set correctly.&nbsp;&nbsp;This<br>
caused an error message when later setting any other number option.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;highlighting has been disabled with &quot;:nohlsearch&quot;,<br>
incremental searching would switch it back on too early.<br>
<br>
When listing tags for &quot;:tselect&quot;, and using a non-search command, and the last<br>
character was equal to the first (e.g., &quot;99&quot;), the last char would not be<br>
shown.<br>
<br>
When searching for tags with &quot;:tag&quot; Vim would assume that all matches had been<br>
found when there were still more (e.g. from another tags file).<br>
<br>
Win32: Didn't recognize &quot;c:\&quot; (e.g., in tags file) as absolute path when<br>
upper/lowercase was different.<br>
<br>
Some xterms (Debian) send&nbsp;<span class="Special">&lt;Esc&gt;</span>OH for HOME and&nbsp;<span class="Special">&lt;Esc&gt;</span>OF for END.&nbsp;&nbsp;Added these<br>
to the builtin-xterm.<br>
<br>
In ex mode, any CR was seen as the end of the line.&nbsp;&nbsp;Only a NL should be<br>
handled that way.&nbsp;&nbsp;broke &quot;:s/foo/some^Mtext/&quot;.<br>
<br>
In menu.vim, a vmenu was used to override an amenu.&nbsp;&nbsp;That didn't work, because<br>
the system menu file doesn't overwrite existing menus.&nbsp;&nbsp;Added explicit vunmenu<br>
to solve this.<br>
<br>
Configure check for terminal library could find a library that doesn't work at<br>
runtime (Solaris: shared library not found).&nbsp;&nbsp;Added a check that a program<br>
with tgoto() can run correctly.<br>
<br>
Unix: &quot;echo -n&quot; in the Makefile doesn't work on all systems, causing errors<br>
compiling pathdef.c.&nbsp;&nbsp;Replaced it with &quot;tr&quot;.<br>
<br>
Perl: DO_JOIN was redefined by Perl.&nbsp;&nbsp;Undefined it in the perl files.<br>
<br>
Various XIM and multi-byte fixes:<br>
- Fix user cannot see his language while he is typing his language with<br>
&nbsp;&nbsp;off-the-spot method. (Nagano)<br>
- Fix preedit position using text/edit area (using gui.wid). (Nagano)<br>
- remove 'fix dead key' codes.&nbsp;&nbsp;It was needed since XNFocusWindow was<br>
&nbsp;&nbsp;&quot;x11_window&quot;, XNFocusWindow is now gui.wid. (Nagano)<br>
- Remove some compile warnings and fix typos. (Namsh)<br>
- For status area, check the gtk+ version while Vim runs.&nbsp;&nbsp;I believe it is<br>
&nbsp;&nbsp;better than compile time check. (Namsh)<br>
- Remove one FIXME for gtk+-xim. (Namsh)<br>
- XIM: Dead keys didn't work for Czech. (Vyskovsky)<br>
- Multibyte: If user input only 3byte such as mb1_mb2_eng or eng_mb1_mb2 VIM<br>
&nbsp;&nbsp;could convert it to special character. (Nam)<br>
- Athena/Motif with XIM: fix preedit area. (Nam)<br>
- XIM: Composed strings were sometimes ignored.&nbsp;&nbsp;Vim crashed when compose<br>
&nbsp;&nbsp;string was longer than 256 bytes.&nbsp;&nbsp;IM's geometry control is fixed. (Nam,<br>
&nbsp;&nbsp;Nagano)<br>
- Win32 multi-byte: hollowed cursor width on a double byte char was wrong.<br>
&nbsp;&nbsp;(Nagano)<br>
- When there is no GUI, selecting XIM caused compilation problems.<br>
&nbsp;&nbsp;Automatically disable XIM when there is no GUI in configure.<br>
- Motif and Athena: When compiled with XIM, but the input method was not<br>
&nbsp;&nbsp;enabled, there would still be a status line.&nbsp;&nbsp;Now the status line is gone if<br>
&nbsp;&nbsp;the input method doesn't work. (Nam)<br>
<br>
Win32: tooltip was not removed when selecting a parent menu (it was when<br>
selecting a menu entry). (Negri)<br>
<br>
Unix with X: Some systems crash on exit, because of the XtCloseDisplay() call.<br>
Removed it, it should not be necessary when exiting.<br>
<br>
Win32: Crash on keypress when compiled with Borland C++. (Aaron)<br>
<br>
When checking for Motif library files, prefer the same location as the include<br>
files (with &quot;include&quot; replaced with &quot;lib&quot;) above another entry.<br>
<br>
Athena GUI: Changed &quot;XtOffset()&quot; in gui_at_fs.c to &quot;XtOffsetOf()&quot;, like it's<br>
used in gui_x11.c.<br>
<br>
Win32: When testing for a timestamp of a file on floppy, would get a dialog<br>
box when the floppy has been removed.&nbsp;&nbsp;Now return with an error.&nbsp;&nbsp;(Negri)<br>
<br>
Win32 OLE: When forced to come to the foreground, a minimized window was still<br>
minimized, now it's restored. (Zivkov)<br>
<br>
There was no check for a positive&nbsp;<a class="Type" href="options.html#'shiftwidth'">'shiftwidth'</a>.&nbsp;&nbsp;A negative value could cause<br>
a hangup, a zero value a crash.<br>
<br>
Athena GUI: horizontal scrollbar wasn't updated correctly when clicking right<br>
or left of the thumb.<br>
<br>
When making a Visual-block selection in one window, and trying to scroll<br>
another, could cause errors for accessing non-existent line numbers.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>&nbsp;contains &quot;`:'&quot;, jumping from the ` to the ' didn't work<br>
properly.<br>
<br>
Changed '\&quot;' to '&quot;' to make it compatible with old C compilers.<br>
<br>
The command line expansion for mappings caused a script with a TAB between lhs<br>
and rhs of a map command to fail.&nbsp;&nbsp;Assume the TAB is to separate lhs and rhs<br>
when there are no mappings to expand.<br>
<br>
When editing a file with very long lines with&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;set, &quot;j&quot; would<br>
sometimes end up in a line which wasn't displayed.<br>
<br>
When editing a read-only file, it was completely read into memory, even when<br>
it would not fit.&nbsp;&nbsp;Now create a swap file for a read-only file when running<br>
out of memory while reading the file.<br>
<br>
When using &quot;:set cino={s,e-s&quot;, a line after &quot;} else {&quot; was not indented<br>
properly.&nbsp;&nbsp;Also added a check for this in test3.in.<br>
<br>
The Hebrew mapping for the command line was remembered for the next command<br>
line.&nbsp;&nbsp;That isn't very useful, a command is not Hebrew. (Kol)<br>
<br>
When completing file names with embedded spaces, like &quot;Program\ files&quot;, this<br>
didn't work.&nbsp;&nbsp;Also for user commands.&nbsp;&nbsp;Moved backslash_halve() down to<br>
mch_expandpath().<br>
<br>
When using &quot;set mouse=a&quot; in Ex mode, mouse events were handled like typed<br>
text.&nbsp;&nbsp;Then typing &quot;quit&quot; screwed up the mouse behavior of the xterm.<br>
<br>
When repeating an insert with &quot;.&quot; that contains a&nbsp;<span class="Special">CTRL-Y</span>, a number 5 was<br>
inserted as &quot;053&quot;.<br>
<br>
Yanking a Visual area, with the cursor past the line, didn't move the cursor<br>
back onto the line.&nbsp;&nbsp;Same for &quot;~&quot;, &quot;u&quot;, &quot;U&quot; and &quot;g?&quot;<br>
<br>
Win32: Default for&nbsp;<a class="Type" href="options.html#'grepprg'">'grepprg'</a>&nbsp;could be &quot;findstr /n&quot; even though there is no<br>
findstr.exe (Windows 95).&nbsp;&nbsp;Check if it exists, and fall back to &quot;grep -n&quot; if<br>
it doesn't.<br>
<br>
Because gui_mouse_moved() inserted a leftmouse click in the input buffer,<br>
remapping a leftmouse click caused strange effects.&nbsp;&nbsp;Now Insert another code<br>
in the input buffer.&nbsp;&nbsp;Also insert a leftmouse release, to avoid the problem<br>
with &quot;:map&nbsp;<span class="Special">&lt;LeftMouse&gt;</span>&nbsp;l&quot; that the next release is seen as the release for the<br>
focus click.<br>
<br>
With&nbsp;<a class="Type" href="options.html#'wrap'">'wrap'</a>&nbsp;on, when using a line that doesn't fit on the screen, if the start<br>
of the Visual area is before the start of the screen, there was no<br>
highlighting.&nbsp;&nbsp;Also,&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;doesn't work properly.<br>
<br>
DOS, Win32: A pattern &quot;[0-9]\+&quot; didn't work in autocommands.<br>
<br>
When creating a swap file for a buffer which isn't the current buffer, could<br>
get a mixup of short file name, resulting in a long file name when a short<br>
file name was required.&nbsp;&nbsp;makeswapname() was calling modname() instead of<br>
buf_modname().<br>
<br>
When a function caused an error, and the error message was very long because<br>
of recursiveness, this would cause a crash.<br>
<br>
<a class="Type" href="options.html#'suffixes'">'suffixes'</a>&nbsp;were always compared with matching case.&nbsp;&nbsp;For MS-DOS, Win32 and<br>
OS/2 case is now ignored.<br>
<br>
The use of CHARBITS in regexp.c didn't work on some Linux.&nbsp;&nbsp;Don't use it.<br>
<br>
When generating a script file,&nbsp;<a class="Type" href="options.html#'cpo'">'cpo'</a>&nbsp;was made empty.&nbsp;&nbsp;This caused backslashes<br>
to disappear from mappings.&nbsp;&nbsp;Set it to &quot;B&quot; to avoid that.<br>
<br>
Lots of typos in the documentation. (Campbell)<br>
<br>
When editing an existing (hidden) buffer, jump to the last used cursor<br>
position. (Madsen)<br>
<br>
On a Sun the xterm screen was not restored properly when suspending. (Madsen)<br>
<br>
When $VIMINIT is processed,&nbsp;<a class="Type" href="options.html#'nocompatible'">'nocompatible'</a>&nbsp;was only set after processing it.<br>
<br>
Unix: Polling for a character wasn't done for GPM, Sniff and Xterm clipboard<br>
all together.&nbsp;&nbsp;Cleaned up the code for using select() too.<br>
<br>
When executing external commands from the GUI, some typeahead was lost.&nbsp;&nbsp;Added<br>
some code to regain as much typeahead as possible.<br>
<br>
When the window height is 5 lines or fewer,&nbsp;<span class="Special">&lt;PageDown&gt;</span>&nbsp;didn't use a one-line<br>
overlap, while&nbsp;<span class="Special">&lt;PageUp&gt;</span>&nbsp;does.&nbsp;&nbsp;Made sure that&nbsp;<span class="Special">&lt;PageUp&gt;</span>&nbsp;uses the same overlap<br>
as&nbsp;<span class="Special">&lt;PageDown&gt;</span>, so that using them both always displays the same lines.<br>
<br>
Removed a few unused functions and variables (found with lint).<br>
<br>
Dictionary completion didn't use&nbsp;<a class="Type" href="options.html#'infercase'">'infercase'</a>. (Raul)<br>
<br>
Configure tests failed when the Perl library was not in LD_LIBRARY_PATH.<br>
Don't use the Perl library for configure tests, add it to the linker line only<br>
when linking Vim.<br>
<br>
When using ncurses/terminfo, could get a&nbsp;<a class="Type" href="term.html#'t_Sf'">'t_Sf'</a>&nbsp;and&nbsp;<a class="Type" href="term.html#'t_Sb'">'t_Sb'</a>&nbsp;termcap entry that<br>
has &quot;%d&quot; instead of &quot;%p1%d&quot;.&nbsp;&nbsp;The light background colors didn't work then.<br>
<br>
GTK GUI with ncurses: Crashed when starting up in tputs().&nbsp;&nbsp;Don't use tputs()<br>
when the GUI is active.<br>
<br>
Could use the &quot;:let&quot; command to set the &quot;count&quot;, &quot;shell_error&quot; and &quot;version&quot;<br>
variables, but that didn't work.&nbsp;&nbsp;Give an error message when trying to set<br>
them.<br>
<br>
On FreeBSD 3.0, tclsh is called tclsh8.0.&nbsp;&nbsp;Adjusted configure.in to find it.<br>
<br>
When Vim is linked with -lncurses, but python uses -ltermcap, this causes<br>
trouble: &quot;OOPS&quot;.&nbsp;&nbsp;Configure now removes the -ltermcap.<br>
<br>
:@&quot; and :*&quot; didn't work properly, because the &quot; was recognized as the start of<br>
a comment.<br>
<br>
Win32s GUI: Minimizing the console where a filter command runs in caused<br>
trouble for detecting that the filter command has finished. (Negri)<br>
<br>
After executing a filter command from an xterm, the mouse would be disabled.<br>
It would work again after changing the mode.<br>
<br>
Mac GUI: Crashed in newenv(). (St-Amant)<br>
<br>
The menus and mappings in mswin.vim didn't handle text ending in a NL<br>
correctly. (Acevedo)<br>
<br>
The &quot;:k&quot; command didn't check if it had a valid argument or extra characters.<br>
Now give a meaningful error message. (Webb)<br>
<br>
On SGI, the signal function doesn't always have three arguments.&nbsp;&nbsp;Check for<br>
struct sigcontext to find out.&nbsp;&nbsp;Might still be wrong...<br>
<br>
Could crash when using&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;and search pattern is &quot;^&quot;.<br>
<br>
When search patterns were saved and restored, status of no_hlsearch was not<br>
also saved and restored (from &quot;:nohlsearch&quot; command).<br>
<br>
When using setline() to make a line shorter, the cursor position was not<br>
adjusted.<br>
<br>
MS-DOS and Win95: When trying to edit a file and accidentally adding a slash<br>
or backslash at the end, the file was deleted.&nbsp;&nbsp;Probably when trying to create<br>
the swap file.&nbsp;&nbsp;Explicitly check for a trailing slash or backslash before<br>
trying to read a file.<br>
<br>
X11 GUI: When starting the GUI failed and received a deadly signal while<br>
setting the title, would lock up when trying to exit, because the title is<br>
reset again.&nbsp;&nbsp;Avoid using mch_settitle() recursively.<br>
<br>
X11 GUI: When starting the GUI fails, and then trying it again, would crash,<br>
because argv[] has been freed and x11_display was reset to NULL.<br>
<br>
Win32: When $HOME was set, would put &quot;~user&quot; in the swap file, which would<br>
never compare with a file name, and never cause the attention message.&nbsp;&nbsp;Put<br>
the full path in the swap file instead.<br>
<br>
Win32 console: There were funny characters at the end of the &quot;vim -r&quot; swap<br>
files message (direct output of CR CR LF).<br>
<br>
DOS 32 bit: &quot;vim -r&quot; put the text at the top of the window.<br>
<br>
GUI: With&nbsp;<a class="Type" href="options.html#'mousefocus'">'mousefocus'</a>&nbsp;set, got mouse codes as text with &quot;!sleep 100&quot; or &quot;Q&quot;.<br>
<br>
Motif and Win32 GUI: When changing&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;to a font of the same size the<br>
screen wasn't redrawn.<br>
<br>
Unix: When using &quot;:make&quot;, jumping to a file b.c, which is already open as a<br>
symbolic link a.c, opened a new buffer instead of using the existing one.<br>
<br>
Inserting text in the current buffer while sourcing the .vimrc file would<br>
cause a crash or hang.&nbsp;&nbsp;The memfile for the current buffer was never<br>
allocated.&nbsp;&nbsp;Now it's allocated as soon as something is written in the buffer.<br>
<br>
DOS 32 bit: &quot;lightblue&quot; background worked for text, but not drawn parts were<br>
black.<br>
<br>
DOS: Colors of console were not restored upon exiting.<br>
<br>
When recording, with&nbsp;<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a>&nbsp;set to 2 and typing Esc&gt; in Insert mode<br>
caused the &quot;recording&quot; message to be doubled.<br>
<br>
Spurious &quot;file changed&quot; messages could happen on Windows.&nbsp;&nbsp;Now tolerate a one<br>
second difference, like for Linux.<br>
<br>
GUI: When returning from Ex mode, scrollbars were not updated.<br>
<br>
Win32: Copying text to the clipboard containing a&nbsp;<span class="Special">&lt;CR&gt;</span>, pasting it would<br>
replace it with a&nbsp;<span class="Special">&lt;NL&gt;</span>&nbsp;and drop the next character.<br>
<br>
Entering a double byte character didn't work if the second byte is in&nbsp;<span class="Special">[xXoO]</span>.<br>
(Eric Lee)<br>
<br>
vim_realloc was both defined and had a prototype in proto/misc2.pro.&nbsp;&nbsp;Caused<br>
conflicts on Solaris.<br>
<br>
A pattern in an autocommand was treated differently on DOS et al. than on<br>
Unix.&nbsp;&nbsp;Now it's the same, also when using backslashes.<br>
<br>
When using&nbsp;<span class="Special">&lt;Tab&gt;</span>&nbsp;twice for command line completion, without a match, the&nbsp;<span class="Special">&lt;Tab&gt;</span><br>
would be inserted. (Negri)<br>
<br>
Bug in MS-Visual C++ 6.0 when compiling ex_docmd.c with optimization. (Negri)<br>
<br>
Testing the result of mktemp() for failure was wrong.&nbsp;&nbsp;Could cause a crash.<br>
(Peters)<br>
<br>
GUI: When checking for a &quot;.gvimrc&quot; file in the current directory, didn't check<br>
for a &quot;_gvimrc&quot; file too.<br>
<br>
Motif GUI: When using the popup menu and then adding an item to the menu bar,<br>
the menu bar would get very high.<br>
<br>
Mouse clicks and special keys (e.g. cursor keys) quit the more prompt and<br>
dialogs.&nbsp;&nbsp;Now they are ignored.<br>
<br>
When at the more-prompt, xterm selection didn't work.&nbsp;&nbsp;Now use the 'r' flag in<br>
<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;also for the more-prompt.<br>
<br>
When selecting a Visual area of more than 1023 lines, with&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;set to<br>
&quot;a&quot;, could mess up the display because of a message in free_yank().&nbsp;&nbsp;Removed<br>
that message, except for the Amiga.<br>
<br>
Moved auto-selection from ui_write() to the screen update functions.&nbsp;&nbsp;Avoids<br>
unexpected behavior from a low-level function.&nbsp;&nbsp;Also makes the different<br>
feedback of owning the selection possible.<br>
<br>
Vi incompatibility: Using &quot;i<span class="Special">&lt;CR&gt;</span>&quot; in an indent, with&nbsp;<a class="Type" href="options.html#'ai'">'ai'</a>&nbsp;set, used the<br>
original indent instead of truncating it at the cursor. (Webb)<br>
<br>
&quot;:echo x&quot; didn't stop at &quot;q&quot; for the more prompt.<br>
<br>
Various fixes for Macintosh. (St-Amant)<br>
<br>
When using&nbsp;<a class="Type" href="options.html#'selectmode'">'selectmode'</a>&nbsp;set to &quot;exclusive&quot;, selecting a word and then using<br>
<span class="Special">CTRL-]</span>&nbsp;included the character under the cursor.<br>
<br>
Using &quot;:let a:name&quot; in a function caused a crash. (Webb)<br>
<br>
When using &quot;:append&quot;, an empty line didn't scroll up.<br>
<br>
DOS etc.: A file name starting with '!' didn't work.&nbsp;&nbsp;Added '!' to default for<br>
<a class="Type" href="options.html#'isfname'">'isfname'</a>.<br>
<br>
BeOS: Compilation problem with prototype of skip_class_name(). (Price)<br>
<br>
When deleting more than one line, e.g., with &quot;de&quot;, could still use &quot;U&quot;<br>
command, which didn't work properly then.<br>
<br>
Amiga: Could not compile ex_docmd.c, it was getting too big.&nbsp;&nbsp;Moved some<br>
functions to ex_cmds.c.<br>
<br>
The expand() function would add a trailing slash for directories.<br>
<br>
Didn't give an error message when trying to assign a value to an argument of a<br>
function.&nbsp;&nbsp;(Webb)<br>
<br>
Moved including sys/ptem.h to after termios.h.&nbsp;&nbsp;Needed for Sinix.<br>
<br>
OLE interface: Don't delete the object in CVimCF::Release() when the reference<br>
count becomes zero. (Cordell)<br>
VisVim could still crash on exit. (Erhardt)<br>
<br>
&quot;case a: case b:&quot; (two case statements in one line) aligned with the second<br>
case.&nbsp;&nbsp;Now it uses one&nbsp;<a class="Type" href="options.html#'sw'">'sw'</a>&nbsp;for indent. (Webb)<br>
<br>
Font initialisation wasn't right for Athena/Motif GUI.&nbsp;&nbsp;Moved the call to<br>
highlight_gui_started() gui_mch_init() to gui_mch_open(). (Nam)<br>
<br>
In Replace mode, backspacing over a TAB before where the replace mode started<br>
while&nbsp;<a class="Type" href="options.html#'sts'">'sts'</a>&nbsp;is different from&nbsp;<a class="Type" href="options.html#'ts'">'ts'</a>, would delete the TAB.<br>
<br>
Win32 console: When executing external commands and switching between the two<br>
console screens, Vim would copy the text between the buffers.&nbsp;&nbsp;That caused the<br>
screen to be messed up for backtick expansion.<br>
<br>
&quot;:winpos -1&quot; then &quot;:winpos&quot; gave wrong error message.<br>
<br>
Windows commander creates files called c:\tmp\$wc\abc.txt.&nbsp;&nbsp;Don't remove the<br>
backslash before the $.&nbsp;&nbsp;Environment variables were not expanded anyway,<br>
because of the backslash before the dollar.<br>
<br>
Using &quot;-=&quot; with &quot;:set&quot; could remove half a part when it contains a &quot;\,&quot;.<br>
E.g., &quot;:set path+=a\\,b&quot; and then &quot;set path-=b&quot;&nbsp;&nbsp;removed &quot;,b&quot;.<br>
<br>
When Visually selecting lines, with&nbsp;<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;set to &quot;inclusive&quot;, including<br>
the last char of the line, &quot;&lt;&lt;&quot; moved an extra line.&nbsp;&nbsp;Also for other operators<br>
that always work on lines.<br>
<br>
link.sh changed &quot;-lnsl_s&quot; to &quot;_s&quot; when looking for &quot;nsl&quot; to be removed.<br>
Now it only remove whole words.<br>
<br>
When jumped to a mark or using &quot;fz&quot;, and there is an error, the current column<br>
was lost.&nbsp;&nbsp;E.g. when using &quot;$fzj&quot;.<br>
<br>
The &quot;g&nbsp;<span class="Special">CTRL-G</span>&quot; command could not be interrupted, even though it can take a<br>
long time.<br>
<br>
Some terminals do have&nbsp;<span class="Special">&lt;F4&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;xF4&gt;</span>.&nbsp;&nbsp;<span class="Special">&lt;xF4&gt;</span>&nbsp;was always interpreted as&nbsp;<span class="Special">&lt;F4&gt;</span>.<br>
Now map&nbsp;<span class="Special">&lt;xF4&gt;</span>&nbsp;to&nbsp;<span class="Special">&lt;F4&gt;</span>, so that the user can override this.<br>
<br>
When compiling os_win32.c with MIN_FEAT the apply_autocmds() should not be<br>
used. (Aaron)<br>
<br>
This autocommand looped forever: &quot;:au FileChangedShell * nested e&nbsp;<span class="Special">&lt;afile&gt;</span>&quot;<br>
Now FileChangeShell never nests. (Roemer)<br>
<br>
When evaluating an &quot;:elseif&quot; that was not going to matter anyway, ignore<br>
errors. (Roemer)<br>
<br>
GUI Lesstif: Tearoff bar was the last item, instead of the first.<br>
<br>
GUI Motif: Colors of tear-off widgets was wrong when 't' flag added to<br>
<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;afterwards.&nbsp;&nbsp;When 't' flag in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;is excluded, would<br>
still get a tearoff item in a new menu.<br>
<br>
An inode number can be &quot;long long&quot;.&nbsp;&nbsp;Use ino_t instead of long.&nbsp;&nbsp;Added<br>
configure check for ino_t.<br>
<br>
Binary search for tags was using a file offset &quot;long&quot; instead of &quot;off_t&quot;.<br>
<br>
Insert mode completion of tags was not using&nbsp;<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>&nbsp;properly.<br>
<br>
In Insert mode, the&nbsp;<span class="Special">&lt;xFn&gt;</span>&nbsp;keys were not properly mapped to&nbsp;<span class="Special">&lt;Fn&gt;</span>&nbsp;for the<br>
default mappings.&nbsp;&nbsp;Also caused errors for &quot;:mkvimrc&quot; and &quot;:mksession&quot;.<br>
<br>
When jumping to another window while in Insert mode, would get the &quot;warning:<br>
changing readonly file&quot; even when not making a change.<br>
<br>
A '(' or '{' inside a trailing &quot;//&quot; comment would disturb C-indenting.<br>
When using two labels below each other, the second one was not indented<br>
properly.&nbsp;&nbsp;Comments could mess up C-indenting in many places.&nbsp;&nbsp;(Roemer)<br>
<br>
Could delete or redefine a function while it was being used.&nbsp;&nbsp;Could cause a<br>
crash.<br>
In a function it's logical to prepend &quot;g:&quot; to a system variable, but this<br>
didn't work. (Roemer)<br>
<br>
Hangul input: Buffer would overflow when user inputs invalid key sequence.<br>
(Nam)<br>
<br>
When BufLoad or BufEnter autocommands change the topline of the buffer in the<br>
window, it was overruled and the cursor put halfway the window.&nbsp;&nbsp;Now only put<br>
the cursor halfway if the autocommands didn't change the topline.<br>
<br>
Calling exists(&quot;&amp;option&quot;) always returned 1. (Roemer)<br>
<br>
Win32: Didn't take actually available memory into account. (Williams)<br>
<br>
White space after an automatically inserted comment leader was not removed<br>
when&nbsp;<a class="Type" href="options.html#'ai'">'ai'</a>&nbsp;is not set and&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;hit just after inserting it. (Webb)<br>
<br>
A few menus had duplicated accelerators. (Roemer)<br>
<br>
Spelling errors in documentation, quite a few &quot;the the&quot;. (Roemer)<br>
<br>
Missing prototypes for Macintosh. (Kielhorn)<br>
<br>
Win32: When using&nbsp;<a class="Type" href="options.html#'shellquote'">'shellquote'</a>&nbsp;or&nbsp;<a class="Type" href="options.html#'shellxquote'">'shellxquote'</a>, the &quot;!start cmd&quot; wasn't<br>
executed in a disconnected process.<br>
<br>
When resizing the window, causing a line before the cursor to wrap or unwrap,<br>
the cursor was displayed in the wrong position.<br>
<br>
There was quite a bit of dead code when compiling with minimal features.<br>
<br>
When doing a &quot;:%s///&quot; command that makes lines shorter, such that lines above<br>
the final cursor position no longer wrap, the cursor position was not updated.<br>
<br>
get_id_list() could allocate an array one too small, when a &quot;contains=&quot; item<br>
has a wildcard that matches a group name that is added just after it.&nbsp;&nbsp;E.g.:<br>
&quot;contains=a.*b,axb&quot;.&nbsp;&nbsp;Give an error message for it.<br>
<br>
When yanking a Visual area and using the middle mouse button -&gt; crash.&nbsp;&nbsp;When<br>
clipboard doesn't work, now make &quot;* always use &quot;&quot;.<br>
<br>
Win32: Using &quot;:buf a\ b\file&quot; didn't work, it was interpreted as &quot;ab\file&quot;.<br>
<br>
Using &quot;:ts ident&quot;, then hit&nbsp;<span class="Special">&lt;CR&gt;</span>, with&nbsp;<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a>&nbsp;set to 2: command line was<br>
not cleared, the tselect prompt was on the last but one line.<br>
<br>
mksession didn't restore the cursor column properly when it was after a tab.<br>
Could not get all windows back when using a smaller terminal screen.&nbsp;&nbsp;Didn't<br>
restore all windows when &quot;winsize&quot; was not in&nbsp;<a class="Type" href="options.html#'sessionoptions'">'sessionoptions'</a>. (Webb)<br>
<br>
Command line completion for &quot;:buffer&quot; depended on&nbsp;<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>&nbsp;for Unix, but<br>
not for DOS et al.&nbsp;&nbsp;Now don't use&nbsp;<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>, but let it depend on whether<br>
file names are case sensitive or not (like when expanding file names).<br>
<br>
Win32 GUI: (Negri)<br>
- Redrawing the background caused flicker when resizing the window.&nbsp;&nbsp;Removed<br>
&nbsp;&nbsp;_OnEraseBG().&nbsp;&nbsp;Removed CS_HREDRAW and CS_VREDRAW flags from the<br>
&nbsp;&nbsp;sndclass.style.<br>
- Some parts of the window were drawn in grey, instead of using the color from<br>
&nbsp;&nbsp;the user color scheme.<br>
- Dropping a file on gvim didn't activate the window.<br>
- When there is no menu (<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;excludes 'm'), never use the ALT key for<br>
&nbsp;&nbsp;it.<br>
<br>
GUI: When resizing the window, would make the window height a bit smaller.<br>
Now round off to the nearest char cell size. (Negri)<br>
<br>
In Vi the &quot;)&quot; and &quot;(&quot; commands don't stop at a single space after a dot.<br>
Added 'J' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;to make this behave Vi compatible. (Roemer)<br>
<br>
When saving a session without any buffers loaded, there would be a &quot;:normal&quot;<br>
command without arguments in it. (Webb)<br>
<br>
Memory leaks fixed: (Madsen)<br>
- eval.c: forgot to release func structure when func deleted<br>
- ex_docmd.c: forgot to release string after &quot;<span class="Special">&lt;sfile&gt;</span>&quot;<br>
- misc1.c: leak when completion pattern had no matches.<br>
- os_unix.c: forgot to release regexp after file completions<br>
<br>
Could crash when using a buffer without a name. (Madsen)<br>
Could crash when doing file name completion, because of backslash_halve().<br>
(Madsen)<br>
<br>
&quot;:@a&quot; would do mappings on register a, which is not Vi compatible. (Roemer)<br>
<br>
&quot;:g/foo.*()/s/foobar/_&amp;/gc&quot; worked fine, but then &quot;n&quot; searched for &quot;foobar&quot;<br>
and displayed &quot;/foo.*()&quot;. (Roemer)<br>
<br>
OS/2: get_cmd_output() was not included.&nbsp;&nbsp;Didn't check for $VIM/.vimrc file.<br>
<br>
Command line completion of options didn't work after &quot;+=&quot; and &quot;-=&quot;.<br>
<br>
Unix configure: Test for memmove()/bcopy()/memcpy() tried redefining these<br>
functions, which could fail if they are defined already.&nbsp;&nbsp;Use mch_memmove() to<br>
redefine.<br>
<br>
Unix: &quot;:let a = expand(&quot;<span class="Comment">xterm</span>&amp;&quot;)&quot; started an xterm asynchronously, but<br>
&quot;:let a = expand(&quot;<span class="Comment">xterm&amp;</span>&quot;)&quot; generated an error message, because the<br>
redirection was put after the '&amp;'.<br>
<br>
Win32 GUI: Dialog buttons could not be selected properly with cursor keys,<br>
when the default is not the first button. (Webb)<br>
<br>
The &quot;File has changed since editing started&quot; (when regaining focus) could not<br>
always be seen. (Webb)<br>
<br>
When starting with &quot;ex filename&quot;, the file message was overwritten with<br>
the &quot;entering Ex mode&quot; message.<br>
<br>
Output of &quot;:tselect&quot; listed name of file directly from the tags file.&nbsp;&nbsp;Now it<br>
is corrected for the position of the tags file.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'backspace'">'backspace'</a>&nbsp;is 0, could backspace over autoindent.&nbsp;&nbsp;Now it is no longer<br>
allowed (Vi compatible).<br>
<br>
In Replace mode, when&nbsp;<a class="Type" href="options.html#'noexpandtab'">'noexpandtab'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'smarttab'">'smarttab'</a>&nbsp;were set, and inserting<br>
Tabs, backspacing didn't work correctly for Tabs inserted at the start of the<br>
line (unless&nbsp;<a class="Type" href="options.html#'sts'">'sts'</a>&nbsp;was set too).&nbsp;&nbsp;Also, when replacing the first non-blank<br>
after which is a space, rounding the indent was done on the first non-blank<br>
instead of on the character under the cursor.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'sw'">'sw'</a>&nbsp;at 4,&nbsp;<a class="Type" href="options.html#'ts'">'ts'</a>&nbsp;at 8 and&nbsp;<a class="Type" href="options.html#'smarttab'">'smarttab'</a>&nbsp;set: When a tab was appended after<br>
four spaces (they are replaced with a tab) couldn't backspace over the tab.<br>
<br>
In Insert mode, with&nbsp;<a class="Type" href="options.html#'bs'">'bs'</a>&nbsp;set to 0, couldn't backspace to before autoindent,<br>
even when it was removed with&nbsp;<span class="Special">CTRL-D</span>.<br>
<br>
When repeating an insert command where a&nbsp;<span class="Special">&lt;BS&gt;</span>,&nbsp;<span class="Special">&lt;Left&gt;</span>&nbsp;or other key causes an<br>
error, would flush buffers and remain in Insert mode.&nbsp;&nbsp;No longer flush<br>
buffers, only beep and continue with the insert command.<br>
<br>
Dos and Win32 console: Setting t_me didn't work to get another color.&nbsp;&nbsp;Made<br>
this works backwards compatible.<br>
<br>
For Turkish (LANG = &quot;tr&quot;) uppercase 'i' is not an 'I'.&nbsp;&nbsp;Use ASCII uppercase<br>
translation in vim_strup() to avoid language problems. (Komur)<br>
<br>
Unix: Use usleep() or nanosleep() for mch_delay() when available.&nbsp;&nbsp;Hopefully<br>
this avoids a hangup in select(0, ..) for Solaris 2.6.<br>
<br>
Vim would crash when using a script file with 'let &amp;sp = &quot;| tee&quot;', starting<br>
vim with &quot;vim -u test&quot;, then doing &quot;:set sp=&quot;.&nbsp;&nbsp;The P_WAS_SET flag wasn't set<br>
for a string option, could cause problems with any string option.<br>
<br>
When using &quot;cmd | vim -&quot;, stdin is not a terminal.&nbsp;&nbsp;This gave problems with<br>
GPM (Linux console mouse) and when executing external commands.&nbsp;&nbsp;Now close<br>
stdin and re-open it as a copy of stderr.<br>
<br>
Syntax highlighting: A &quot;nextgroup&quot; item was not properly stored in the state<br>
list.&nbsp;&nbsp;This caused missing of next groups when not redrawing from start to<br>
end, but starting halfway.<br>
<br>
Didn't check for valid values of&nbsp;<a class="Type" href="options.html#'ttymouse'">'ttymouse'</a>.<br>
<br>
When executing an external command from the GUI, waiting for the child to<br>
terminate might not work, causing a hang. (Parmelan)<br>
<br>
&quot;make uninstall&quot; didn't delete the vimrc_example.vim and gvimrc_example.vim<br>
files and the vimtutor.<br>
<br>
Win32: &quot;expand(&quot;%:p:h&quot;)&quot; with no buffer name removed the directory name.<br>
&quot;fnamemodify(&quot;&quot;, &quot;:p&quot;)&quot; did not add a trailing slash, fname_case() removed it.<br>
<br>
Fixed: When&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;was set and the 'c' flag was not in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>:<br>
highlighting was not correct.&nbsp;&nbsp;Now overlapping matches are handled correctly.<br>
<br>
Athena, Motif and GTK GUI: When started without focus, cursor was shown as if<br>
with focus.<br>
<br>
Don't include&nbsp;<a class="Type" href="options.html#'shellpipe'">'shellpipe'</a>&nbsp;when compiled without quickfix, it's not used.<br>
Don't include&nbsp;<a class="Type" href="options.html#'dictionary'">'dictionary'</a>&nbsp;option when compiled without the +insert_expand<br>
feature.<br>
Only include the&nbsp;<a class="Type" href="options.html#'shelltype'">'shelltype'</a>&nbsp;option for the Amiga.<br>
<br>
When making a change to a line, with&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;on, causing it to wrap, while<br>
executing a register, the screen would not be updated correctly.&nbsp;&nbsp;This was a<br>
generic problem in update_screenline() being called while must_redraw is<br>
VALID.<br>
<br>
Using &quot;:bdelete&quot; in a BufUnload autocommand could cause a crash.&nbsp;&nbsp;The window<br>
height was added to another window twice in close_window().<br>
<br>
Win32 GUI: When removing a menu item, the tearoff wasn't updated. (Negri)<br>
<br>
Some performance bottlenecks removed.&nbsp;&nbsp;Allocating memory was not efficient.<br>
For Win32 checking for available memory was slow, don't check it every time<br>
now.&nbsp;&nbsp;On NT obtaining the user name takes a long time, cache the result (for<br>
all systems).<br>
<br>
fnamemodify() with an argument &quot;:~:.&quot; or &quot;:.:~&quot; didn't work properly.<br>
<br>
When editing a new file and exiting, the marks for the buffer were not saved<br>
in the viminfo file.<br>
<br>
&quot;:confirm only&quot; didn't put up a dialog.<br>
<br>
These text objects didn't work when&nbsp;<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;was &quot;exclusive&quot;: va( vi( va{<br>
vi{ va&lt; vi&lt; vi[ va[.<br>
<br>
The dialog for writing a readonly file didn't have a valid default. (Negri)<br>
<br>
The line number used for error messages when sourcing a file was reset when<br>
modelines were inspected.&nbsp;&nbsp;It was wrong when executing a function.<br>
<br>
The file name and line number for an error message wasn't displayed when it<br>
was the same as for the last error, even when this was long ago.&nbsp;&nbsp;Now reset<br>
the name/lnum after a hit-enter prompt.<br>
<br>
In a session file, a &quot;%&quot; in a file name caused trouble, because fprintf() was<br>
used to write it to the file.<br>
<br>
When skipping statements, a mark in an address wasn't skipped correctly:<br>
&quot;ka|if 0<span class="MissingTag">'ad</span><a class="Identifier" href="eval.html#:else">else</a><a class="Identifier" href="eval.html#:echo">echo</a>endif&quot;. (Roemer)<br>
<br>
&quot;:wall&quot; could overwrite a not-edited file without asking.<br>
<br>
GUI: When $DISPLAY was not set or starting the GUI failed in another way, the<br>
console mode then started with wrong colors and skipped initializations.&nbsp;&nbsp;Now<br>
do an early check if the GUI can be started.&nbsp;&nbsp;Don't source the menu.vim or<br>
gvimrc when it will not.&nbsp;&nbsp;Also do normal terminal initializations if the GUI<br>
might not start.<br>
<br>
When using a BufEnter autocommand to position the cursor and scroll the<br>
window, the cursor was always put at the last used line and halfway the window<br>
anyhow.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'wildmode'">'wildmode'</a>&nbsp;was set to &quot;longest,list:full&quot;, &quot;:e *.c<span class="Special">&lt;Tab&gt;&lt;Tab&gt;</span>&quot; didn't list<br>
the matches.&nbsp;&nbsp;Also avoid that listing after a &quot;longest&quot; lists the wrong<br>
matches when the first expansion changed the string in front of the cursor.<br>
<br>
When using &quot;:insert&quot;, &quot;:append&quot; or &quot;:change&quot; inside a while loop, was not able<br>
to break out of it with a&nbsp;<span class="Special">CTRL-C</span>.<br>
<br>
Win32: &quot;:e .&quot; took an awful long time before an error message when used in<br>
&quot;C:\&quot;.&nbsp;&nbsp;Was caused by adding another backslash and then trying to get the full<br>
name for &quot;C:\\&quot;.<br>
<br>
&quot;:winpos -10 100&quot; was working like &quot;:winpos -10 -10&quot;, because a pointer was<br>
not advanced past the '-' sign.<br>
<br>
When obtaining the value of a hidden option, would give an error message.&nbsp;&nbsp;Now<br>
just use a zero value.<br>
<br>
OS/2: Was using argv[0], even though it was not a useful name.&nbsp;&nbsp;It could be<br>
just &quot;vim&quot;, found in the search path.<br>
<br>
Xterm: &quot;:set columns=78&quot; didn't redraw properly (when lines wrap/unwrap) until<br>
after a delay of&nbsp;<a class="Type" href="options.html#'updatetime'">'updatetime'</a>.&nbsp;&nbsp;Didn't check for the size-changed signal.<br>
<br>
<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;didn't work in Insert mode.<br>
Horizontal scrollbinding didn't always work for &quot;0&quot; and &quot;$&quot; commands (e.g.,<br>
when&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>&nbsp;was off).<br>
<br>
When compiled with minimal features but with GUI, switching on the mouse in an<br>
xterm caused garbage, because the mouse codes were not recognized.&nbsp;&nbsp;Don't<br>
enable the mouse when it can't be recognized.&nbsp;&nbsp;In the GUI it also didn't work,<br>
the arguments to the mouse code were not interpreted.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;used, in Insert mode, when the cursor is just after the last<br>
character in the line, which is also the in the rightmost column, the cursor<br>
position would be like the&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;string is shown, but it wasn't.<br>
<br>
Autocommands could move the cursor in a new file, so that&nbsp;<span class="Special">CTRL-W</span>&nbsp;i didn't show<br>
the right line.&nbsp;&nbsp;Same for when using a filemark to jump to another file.<br>
<br>
When redefining the argument list, the title used for other windows could be<br>
showing the wrong info about the position in the argument list.&nbsp;&nbsp;Also update<br>
this for a &quot;:split&quot; command without arguments.<br>
<br>
When editing file 97 of 13, &quot;:Next&quot; didn't work.&nbsp;&nbsp;Now it goes to the last<br>
file in the argument list.<br>
<br>
Insert mode completion (for dictionaries or included files) could not be<br>
interrupted by typing an&nbsp;<span class="Special">&lt;Esc&gt;</span>.&nbsp;&nbsp;Could get hit-enter prompt after line<br>
completion, or whenever the informative message would get too long.<br>
<br>
When using the &quot;:edit&quot; command to re-edit the same file, an autocommand to<br>
jump to the last cursor position caused the cursor to move.&nbsp;&nbsp;Now set the last<br>
used cursor position to avoid this.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;has a part that starts with white space, formatting the<br>
comment didn't work.<br>
<br>
At the &quot;:tselect&quot; prompt Normal mode mappings were used.&nbsp;&nbsp;That has been<br>
disabled.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;is not &quot;old&quot;, some commands still didn't allow the cursor<br>
past the end-of-line in Visual mode.<br>
<br>
Athena: When a menu was deleted, it would appear again (but not functional)<br>
when adding another menu.&nbsp;&nbsp;Now they don't reappear anymore (although they are<br>
not really deleted either).<br>
<br>
Borland C++ 4.x had an optimizer problem in fill_breakat_flags(). (Negri)<br>
<br>
&quot;ze&quot; didn't work when&nbsp;<a class="Type" href="options.html#'number'">'number'</a>&nbsp;was on. (Davis)<br>
<br>
Win32 GUI: Intellimouse code didn't work properly on Windows 98. (Robinson)<br>
<br>
A few files were including proto.h a second time, after vim.h had already done<br>
that, which could cause problems with the vim_realloc() macro.<br>
<br>
Win32 console:&nbsp;<span class="Special">&lt;M-x&gt;</span>&nbsp;or ALT-x was not recognized.&nbsp;&nbsp;Also keypad '+', '-' and<br>
'*'. (Negri)<br>
MS-DOS:&nbsp;<span class="Special">&lt;M-x&gt;</span>&nbsp;didn't work, produced a two-byte code.&nbsp;&nbsp;Now the alphabetic and<br>
number keys work. (Negri)<br>
<br>
When finding a lot of matches for a tag completion, the check for avoiding<br>
double matches could take a lot of time.&nbsp;&nbsp;Add a line_breakcheck() to be able<br>
to interrupt this. (Deshpande)<br>
<br>
When the command line was getting longer than the screen, the more-prompt<br>
would be given regularly, and the cursor position would be wrong.&nbsp;&nbsp;Now only<br>
show the part of the command line that fits on the screen and force the cursor<br>
to be positioned on the visible part.&nbsp;&nbsp;There can be text after the cursor<br>
which isn't editable.<br>
<br>
At the more prompt and with the console dialog, a cursor key was interpreted<br>
as&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;and OA.&nbsp;&nbsp;Now recognize special keys in get_keystroke().&nbsp;&nbsp;Ignore mouse<br>
and scrollbar events.<br>
<br>
When typing a BS after inserting a middle comment leader, typing the last char<br>
of the end comment leader still changed it into the end comment leader. (Webb)<br>
<br>
When a file system is full, writing to a swap file failed.&nbsp;&nbsp;Now first try to<br>
write one block to the file.&nbsp;&nbsp;Try next entry in&nbsp;<a class="Type" href="options.html#'dir'">'dir'</a>&nbsp;if it fails.<br>
<br>
When &quot;~&quot; is in&nbsp;<a class="Type" href="options.html#'whichwrap'">'whichwrap'</a>, doing &quot;~&quot; on last char of a line didn't update the<br>
display.<br>
<br>
Unix: Expanding wildcards for &quot;:file {\\}&quot; didn't work, because &quot;\}&quot; was<br>
translated to &quot;}&quot; before the shell got it.&nbsp;&nbsp;Now don't remove backslashes when<br>
wildcards are going to be expanded.<br>
<br>
Unix: &quot;:e /tmp/$uid&quot; didn't work.&nbsp;&nbsp;When expanding environment variables in a<br>
file name doesn't work, use the shell to expand the file name.&nbsp;&nbsp;&quot;:e /tmp/$tty&quot;<br>
still doesn't work though.<br>
<br>
&quot;make test&quot; didn't always work on DOS/Windows for test30, because it depended<br>
on the external &quot;echo&quot; command.<br>
<br>
The link.sh script used &quot;make&quot; instead of $MAKE from the Makefile.&nbsp;&nbsp;Caused<br>
problems for generating pathdef.c when &quot;make&quot; doesn't work properly.<br>
<br>
On versions that can do console and GUI: In the console a typed CSI code could<br>
cause trouble.<br>
<br>
The patterns in expression evaluation didn't ignore the 'l' flag in<br>
<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>.&nbsp;&nbsp;This broke the working of&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;in the options window.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'hls'">'hls'</a>&nbsp;off and&nbsp;<a class="Type" href="options.html#'ai'">'ai'</a>&nbsp;on, &quot;O<span class="Special">&lt;Esc&gt;</span>&quot; did remove the indent, but it was still<br>
highlighted red for trailing space.<br>
<br>
Win32 GUI: Dropping an encrypted file on a running gvim didn't work right.&nbsp;&nbsp;Vim<br>
would loop while outputting &quot;*&quot; characters.&nbsp;&nbsp;vgetc() was called recursively,<br>
thus it returns NUL.&nbsp;&nbsp;Added safe_vgetc(), which reads input directly from the<br>
user in this situation.<br>
<br>
While reading text from stdin, only an empty screen was shown.&nbsp;&nbsp;Now show that<br>
Vim is reading from stdin.<br>
<br>
The cursor shape wasn't set properly when returning to Insert mode, after<br>
using a&nbsp;<span class="Special">CTRL-O</span>&nbsp;/asdf command which fails.&nbsp;&nbsp;It would be OK after a few seconds.<br>
Now it's OK right away.<br>
<br>
The&nbsp;<a class="Type" href="options.html#'isfname'">'isfname'</a>&nbsp;default for DOS/Windows didn't include the '@' character.&nbsp;&nbsp;File<br>
names that contained &quot;dir\@file&quot; could not be edited.<br>
<br>
Win32 console:&nbsp;<span class="Special">&lt;C-S-Left&gt;</span>&nbsp;could cause a crash when compiled with Borland or<br>
egcs. (Aaron)<br>
<br>
Unix and VMS: &quot;#if HAVE_DIRENT_H&quot; caused problems for some compilers.&nbsp;&nbsp;Use<br>
&quot;#ifdef HAVE_DIRENT_H&quot; instead. (Jones)<br>
<br>
When a matching tag is in the current file but has a search pattern that<br>
doesn't match, the cursor would jump to the first line.<br>
<br>
Unix: Dependencies for pty.c were not included in Makefile.&nbsp;&nbsp;Dependency of<br>
ctags/config.h was not included (only matters for parallel make).<br>
<br>
Removed a few Uninitialized Memory Reads (potential crashes).&nbsp;&nbsp;In do_call()<br>
calling clear_var() when not evaluating.&nbsp;&nbsp;In win32_expandpath() and<br>
dos_expandpath() calling backslash_halve() past the end of a file name.<br>
<br>
Removed memory leaks: Set_vim_var_string() never freed the value.&nbsp;&nbsp;The<br>
next_list for a syntax keyword was never freed.<br>
<br>
On non-Unix systems, using a file name with wildcards without a match would<br>
silently fail.&nbsp;&nbsp;E.g., &quot;:e *.sh&quot;.&nbsp;&nbsp;Now give a &quot;No match&quot; error message.<br>
<br>
The life/life.mac, urm/urm.mac and hanoi/hanoi.mac files were not recognized<br>
as Vim scripts.&nbsp;&nbsp;Renamed them to *.vim.<br>
<br>
[<span class="Todo">Note</span>: some numbered patches are not relevant when upgrading from version 5.3,<br>
they have been removed]<br>
<br>
Patch 5.4m.1<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When editing a file with a long name, would get the hit-enter<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prompt, even though all settings are such that the name should be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;truncated to avoid that.&nbsp;&nbsp;filemess() was printing the file name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;without truncating it.<br>
Solution:&nbsp;&nbsp; Truncate the message in filemess().&nbsp;&nbsp;Use the same code as for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg_trunc_attr(), which is moved to the new function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg_may_trunc().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/message.c, src/proto/message.pro, src/fileio.c<br>
<br>
Patch 5.4m.3<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The Motif libraries were not found by configure for Digital Unix.<br>
Solution:&nbsp;&nbsp; Add &quot;/usr/shlib&quot; to the search path. (Andy Kahn)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.4m.5<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When using the Save-As menu entry and selecting an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;existing file in the file browser, would get a dialog to confirm<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overwriting twice.&nbsp;&nbsp;(Ed Krall)<br>
Solution:&nbsp;&nbsp; Removed the dialog from the file browser.&nbsp;&nbsp;It would be nicer to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the &quot;forceit&quot; flag and skip Vim's &quot;:confirm&quot; dialog, but it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;requires quite a few changes to do that.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.4m.6<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When reading text from stdin, e.g., &quot;cat foo | gvim -&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a message box would pop up with &quot;-stdin-&quot; (when exiting). (Michael<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Schaap)<br>
Solution:&nbsp;&nbsp; Don't switch off termcap mode for versions that are GUI-only.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;They use another terminal to read from stdin.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c, src/fileio.c<br>
<br>
Patch 5.4m.7<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: running configure with --enable-gtk-check,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--enable-motif-check, --enable-athena-check or --enable-gtktest<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;had the reverse effect. (Thomas Koehler)<br>
Solution:&nbsp;&nbsp; Use $enable_gtk_check variable correctly in AC_ARG_ENABLE().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.4m.9<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: With wrapping lines, the cursor was sometimes 2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characters to the left.&nbsp;&nbsp;Syntax highlighting was wrong when a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double-byte character was split for a wrapping line.&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;was on the splitting also didn't work.<br>
Solution:&nbsp;&nbsp; Adjust getvcol() and win_line(). (Chong-Dae Park)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/charset.c, src/screen.c<br>
<br>
Patch 5.4m.11<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The &quot;:call&quot; command didn't check for illegal trailing characters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Stefan Roemer)<br>
Solution:&nbsp;&nbsp; Add the check in do_call().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.4m.13<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;With the &quot;:s&quot; command:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1. When performing a substitute command, the mouse would be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disabled and enabled for every substitution.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. The cursor position could be beyond the end of the line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calling line_breakcheck() could try to position the cursor,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; which causes a crash in the Win32 GUI.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3. When using &quot;:s&quot; in a &quot;:g&quot; command, the cursor was not put on<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the first non-white in the line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4. There was a hit-enter prompt when confirming the substitution<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and the replacement was a bit longer.<br>
Solution:&nbsp;&nbsp; 1. Only disable/enable the mouse when asking for confirmation.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. Always put the cursor on the first character, it is going to be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; moved to the first non-blank anyway.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Don't use the cursor position in gui_mch_draw_hollow_cursor(),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get the character from the screen buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3. Added global_need_beginline flag to call beginline() after &quot;:g&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has finished all substitutions.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4. Clear the need_wait_return flag after prompting the user.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c, src/gui_w32.c<br>
<br>
Patch 5.4m.14<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When doing &quot;vim xxx&quot;, &quot;:opt&quot;, &quot;:only&quot; and then &quot;:e xxx&quot; we end<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;up with two swapfiles for &quot;xxx&quot;.&nbsp;&nbsp;That is caused by the &quot;:bdel&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command which is executed when unloading the option-window.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also, there was no check if closing a buffer made the new one<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invalid, this could cause a crash.<br>
Solution:&nbsp;&nbsp; When closing a buffer causes the current buffer to be deleted,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use the new buffer to replace it.&nbsp;&nbsp;Also detect that the new buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has become invalid as a side effect of closing the current one.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make autocommand that calls &quot;:bdel&quot; in optwin.vim nested, so that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the buffer loading it triggers also executes autocommands.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also added a test for this in test13.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/optwin.vim, src/buffer.c, src/ex_cmds.c, src/globals.h<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/testdir/test13.in, src/testdir/test13.ok<br>
<br>
Patch 5.4m.15<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using a BufEnter autocommand to reload the syntax file,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conversion to HTML caused a crash. (Sung-Hyun Nam)<br>
Solution:&nbsp;&nbsp; When using &quot;:syntax clear&quot; the current stack of syntax items was<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not cleared.&nbsp;&nbsp;This will cause memory to be used that has already<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;been freed.&nbsp;&nbsp;Added call to invalidate_current_state() in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;syntax_clear().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c<br>
<br>
Patch 5.4m.17<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When omitting a ')' in an expression it would not be seen as a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;failure.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When detecting an error inside (), there would be an error message<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for a missing ')' too.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:echo 1+|echo 2&quot; there was no error message. (Roemer)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:exe 1+&quot; there was no error message.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:return 1+&quot; there was no error message.<br>
Solution:&nbsp;&nbsp; Fix do_echo(), do_execute() and do_return() to give an error<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message when eval1() returns FAIL.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fix eval6() to handle trailing ')' correctly and return FAIL when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it's missing.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.4m.18<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using input() from inside an expression entered with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;<span class="Special">CTRL-R</span>&nbsp;=&quot; on the command line, there could be a crash.&nbsp;&nbsp;And the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resulting command line was wrong.<br>
Solution:&nbsp;&nbsp; Added getcmdline_prompt(), which handles recursive use of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getcmdline() correctly.&nbsp;&nbsp;It also sets the command line prompt.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removed cmdline_prompt().&nbsp;&nbsp;Also use getcmdline_prompt() for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getting the crypt key in get_crypt_key().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/ex_getln.pro, src/ex_getln.c, src/eval.c, src/misc2.c<br>
<br>
Patch 5.4m.21<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When starting up, the screen structures were first allocated at<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the minimal size, then initializations were done with Rows<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;possibly different from screen_Rows.&nbsp;&nbsp;Caused a crash in rare<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;situations (GTK with XIM and fontset).<br>
Solution:&nbsp;&nbsp; Call screenalloc() in main() only after calling ui_get_winsize().<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also avoids a potential delay because of calling screenclear()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while &quot;starting&quot; is non-zero.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c<br>
<br>
Patch 5.4m.22<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;In the GUI it was possible that the screen was resized and the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screen structures re-allocated while redrawing the screen.&nbsp;&nbsp;This<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;could cause a crash (hard to reproduce).&nbsp;&nbsp;The call sequence goes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;through update_screen() .. syntax_start() .. ui_breakcheck() ..<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gui_resize_window() .. screenalloc().<br>
Solution:&nbsp;&nbsp; Set updating_screen while redrawing.&nbsp;&nbsp;If the window is resized<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remember the new size and handle it only after redrawing is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finished.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This also fixes that resizing the screen while still redrawing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(slow syntax highlighting) would not work properly.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also disable display_hint, it was never used.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/globals.h, src/gui.c, src/screen.c, src/proto/gui.pro<br>
<br>
Patch 5.4m.23<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using expand(&quot;<span class="Special">&lt;cword&gt;</span>&quot;) when there was no word under the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor, would get an error message.&nbsp;&nbsp;Same for&nbsp;<span class="Special">&lt;cWORD&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;cfile&gt;</span>.<br>
Solution:&nbsp;&nbsp; Don't give an error message, return an empty string.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.4m.24<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:help \|&quot; didn't find anything.&nbsp;&nbsp;It was translated to &quot;/\\|&quot;.<br>
Solution:&nbsp;&nbsp; Translate &quot;\|&quot; into &quot;\\bar&quot;.&nbsp;&nbsp;First check the table for specific<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;translations before checking for &quot;\x&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.4m.25<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: When using command line completion on files that contain<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''', '&quot;' or '|' the file name could not be used.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adding this file name to the Buffers menu caused an error message.<br>
Solution:&nbsp;&nbsp; Insert a backslash before these three characters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adjust Mungename() function to insert a backslash before '|'.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c, runtime/menu.vim<br>
<br>
Patch 5.4m.26<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using a mapping of two function keys, e.g.,&nbsp;<span class="Special">&lt;F1&gt;&lt;F1&gt;</span>, and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only the first char of the second key has been read, the mapping<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would not be recognized.&nbsp;&nbsp;Noticed on some Unix systems with xterm.<br>
Solution:&nbsp;&nbsp; Add 'K' flag to&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;to wait for the whole key code, even<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when halfway a mapping.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.h, src/term.c<br>
<br>
Patch 5.4m.27<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When making test33 without the lisp feature it hangs. Interrupting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the execution of the script then might cause a crash.<br>
Solution:&nbsp;&nbsp; In inchar(), after closing a script, don't use buf[] anymore.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;closescript() has freed typebuf[] and buf[] might be pointing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inside typebuf[].<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Avoid that test33 hangs when the lisp feature is missing.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/getchar.c src/testdir/test33.in<br>
<br>
&quot;os2&quot; was missing from the feature list.&nbsp;&nbsp;Useful for has(&quot;os2&quot;).<br>
<br>
BeOS:<br>
- Included patches from Richard Offer for BeOS R4.5.<br>
- menu code didn't work right.&nbsp;&nbsp;Crashed in the Buffers menu.&nbsp;&nbsp;The window title<br>
&nbsp;&nbsp;wasn't set. (Offer)<br>
<br>
Patch 5.4n.3<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;C-indenting was wrong after &quot;&nbsp;&nbsp;} else&quot;.&nbsp;&nbsp;The white space was not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skipped.&nbsp;&nbsp;Visible when&nbsp;<a class="Type" href="options.html#'cino'">'cino'</a>&nbsp;has &quot;+10&quot;.<br>
Solution:&nbsp;&nbsp; Skip white space before calling cin_iselse(). (Norbert Zeh)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c<br>
<br>
Patch 5.4n.4<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When the 't' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;is included, after a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;:nohlsearch&quot; the search highlighting would not be enabled again<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;after a tag search. (Norbert Zeh)<br>
Solution:&nbsp;&nbsp; When setting the new search pattern in jumpto_tag(), don't restore<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no_hlsearch.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/tag.c<br>
<br>
Patch 5.4n.5<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:normal&quot; from a CursorHold autocommand Vim hangs.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autocommand is executed down from vgetc().&nbsp;&nbsp;Calling vgetc()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recursively to execute the command doesn't work then.<br>
Solution:&nbsp;&nbsp; Forbid the use of &quot;:normal&quot; when vgetc_busy is set.&nbsp;&nbsp;Give an error<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message when this happens.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, runtime/doc/autocmd.txt<br>
<br>
Patch 5.4n.6<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;gv&quot; could reselect a Visual that starts and/or ends past the end<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of a line. (Robert Webb)<br>
Solution:&nbsp;&nbsp; Check that the start and end of the Visual area are on a valid<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character by calling adjust_cursor().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.4n.8<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When a mark was on a non existing line (e.g., when the .viminfo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;was edited), jumping to it caused ml_get errors. (Alexey<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Marinichev).<br>
Solution:&nbsp;&nbsp; Added check_cursor_lnum() in nv_gomark().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.4n.9<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:-2&quot; moved the cursor to a negative line number. (Ralf Schandl)<br>
Solution:&nbsp;&nbsp; Give an error message for a negative line number.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.4n.10<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: At the hit-enter prompt, it was possible to scroll the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text.&nbsp;&nbsp;This erased the prompt and made Vim look like it is in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Normal mode, while it is actually still waiting for a&nbsp;<span class="Special">&lt;CR&gt;</span>.<br>
Solution:&nbsp;&nbsp; Disallow scrolling at the hit-enter prompt for systems that use<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on the fly scrolling.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/message.c<br>
<br>
Patch 5.4n.14<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When using &quot;:winsize 80 46&quot; and the height is more than<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;what fits on the screen, the window size was made smaller than<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asked for (that's OK) and Vim crashed (that's not OK)&gt;<br>
Solution:&nbsp;&nbsp; Call check_winsize() from gui_set_winsize() to resize the windows.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.4n.16<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: The&nbsp;<span class="Special">&lt;F10&gt;</span>&nbsp;key both selected the menu and was handled as<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a key hit.<br>
Solution:&nbsp;&nbsp; Apply&nbsp;<a class="Type" href="options.html#'winaltkeys'">'winaltkeys'</a>&nbsp;to&nbsp;<span class="Special">&lt;F10&gt;</span>, like it is used for Alt keys.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.4n.17<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Local buffer variables were freed when the buffer is unloaded.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;That's not logical, since options are not freed. (Ron Aaron)<br>
Solution:&nbsp;&nbsp; Free local buffer variables only when deleting the buffer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c<br>
<br>
Patch 5.4n.19<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Doing &quot;:e&quot; (without argument) in an option-window causes trouble.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The mappings for&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;Space&gt;</span>&nbsp;are not removed.&nbsp;&nbsp;When there is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;another buffer loaded, the swap file for it gets mixed up.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Steve Mueller)<br>
Solution:&nbsp;&nbsp; Also remove the mappings at the BufUnload event, if they are still<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;present.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When re-editing the same file causes the current buffer to be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deleted, don't try editing it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also added a test for this situation.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/optwin.vim, src/ex_cmds.c, src/testdir/test13.in,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/testdir/test13.ok<br>
<br>
Patch 5.4n.24<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;BeOS: configure never enabled the GUI, because $with_x was &quot;no&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unix prototypes caused problems, because Display and Widget are<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;undefined.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Freeing fonts on exit caused a crash.<br>
Solution:&nbsp;&nbsp; Only disable the GUI when $with_x is &quot;no&quot; and&nbsp;&nbsp;$BEOS is not &quot;yes&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add dummy defines for Display and Widget in proto.h.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't free the fonts in gui_exit() for BeOS.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure, src/proto.h, src/gui.c.<br>
<br>
<br>
The runtime/vim48x48.xpm icon didn't have a transparent background. (Schild)<br>
<br>
Some versions of the mingw32/egcs compiler didn't have WINBASEAPI defined.<br>
(Aaron)<br>
<br>
VMS:<br>
- mch_setenv() had two arguments instead of three.<br>
- The system vimrc and gvimrc files were called &quot;.vimrc&quot; and &quot;.gvimrc&quot;.<br>
&nbsp;&nbsp;Removed the dot.<br>
- call to RealWaitForChar() had one argument too many. (Campbell)<br>
- WaitForChar() is static, removed the prototype from proto/os_vms.pro.<br>
- Many file accesses failed, because Unix style file names were used.<br>
&nbsp;&nbsp;Translate file names to VMS style by using vim_fopen().<br>
- Filtering didn't work, because the temporary file name was generated wrong.<br>
- There was an extra newline every 9192 characters when writing a file.&nbsp;&nbsp;Work<br>
&nbsp;&nbsp;around it by writing line by line. (Campbell)<br>
- os_vms.c contained &quot;# typedef int DESC&quot;.&nbsp;&nbsp;Should be &quot;typedef int DESC;&quot;.<br>
&nbsp;&nbsp;Only mattered for generating prototypes.<br>
- Added file name translation to many places.&nbsp;&nbsp;Made easy by defining macros<br>
&nbsp;&nbsp;mch_access(), mch_fopen(), mch_fstat(), mch_lstat() and mch_stat().<br>
- Set default for&nbsp;<a class="Type" href="options.html#'tagbsearch'">'tagbsearch'</a>&nbsp;to off, because binary tag searching apparently<br>
&nbsp;&nbsp;doesn't work for VMS.<br>
- make mch_get_host_name() work with /dec and /standard=vaxc. (Campbell)<br>
<br>
<br>
Patch 5.4o.2<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Crash when using &quot;gf&quot; on &quot;file.c://comment here&quot;. (Scott Graham)<br>
Solution:&nbsp;&nbsp; Fix wrong use of pointers in get_file_name_in_path().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/window.c<br>
<br>
Patch 5.4o.3<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The horizontal scrollbar was not sized correctly when&nbsp;<a class="Type" href="options.html#'number'">'number'</a>&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set and&nbsp;<a class="Type" href="options.html#'wrap'">'wrap'</a>&nbsp;not set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Athena: Horizontal scrollbar wasn't updated when the cursor was<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;positioned with a mouse click just after dragging.<br>
Solution:&nbsp;&nbsp; Subtract 8 from the size when&nbsp;<a class="Type" href="options.html#'number'">'number'</a>&nbsp;set and&nbsp;<a class="Type" href="options.html#'wrap'">'wrap'</a>&nbsp;not set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset gui.dragged_sb when a mouse click is received.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.4o.4<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When running in an xterm and $WINDOWID is set to an illegal value,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vim would exit with &quot;Vim: Got X error&quot;.<br>
Solution:&nbsp;&nbsp; When using the display which was opened for the xterm clipboard,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check if x11_window is valid by trying to obtain the window title.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also add a check in setup_xterm_clip(), for when using X calls to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the pointer position in an xterm.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.4o.5<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif version with Lesstif: When removing the menubar and then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using a menu shortcut key, Vim would crash. (raf)<br>
Solution:&nbsp;&nbsp; Disable the menu mnemonics when the menu bar is removed.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_motif.c<br>
<br>
Patch 5.4o.9<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The DOS install.exe program used the &quot;move&quot; program.&nbsp;&nbsp;That doesn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work on Windows NT, where &quot;move&quot; is internal to cmd.exe.<br>
Solution:&nbsp;&nbsp; Don't use an external program for moving the executables.&nbsp;&nbsp;Use C<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;functions to copy the file and delete the original.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/dosinst.c<br>
<br>
Motif and Athena obtained the status area height differently from GTK.&nbsp;&nbsp;Moved<br>
status_area_enabled from global.h to gui_x11.c and call<br>
xim_get_status_area_height() to get the status area height.<br>
<br>
Patch 5.4p.1<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using auto-select, and the &quot;gv&quot; command is used, would not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;always obtain ownership of the selection.&nbsp;&nbsp;Caused by the Visual<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;area still being the same, but ownership taken away by another<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;program.<br>
Solution:&nbsp;&nbsp; Reset the clipboard Visual mode to force updating the selection.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.4p.2<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif and Athena with XIM: Typing 3-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;multibyte&gt;&lt;multibyte&gt;&lt;space&gt;</span>&nbsp;doesn't work correctly with Ami XIM.<br>
Solution:&nbsp;&nbsp; Avoid using key_sym XK_VoidSymbol. (Nam)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/multbyte.c, src/gui_x11.c<br>
<br>
Patch 5.4p.4<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: The scrollbar values were reduced for a file with more<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;than 32767 lines.&nbsp;&nbsp;But this info was kept global for all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollbars, causing a mixup between the windows.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Using the down arrow of a scrollbar in a large file didn't work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Because of round-off errors there is no scroll at all.<br>
Solution:&nbsp;&nbsp; Give each scrollbar its own scroll_shift field.&nbsp;&nbsp;When the down<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrow is used, scroll several lines.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.h, src/gui_w32.c<br>
<br>
Patch 5.4p.5<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When changing buffers in a BufDelete autocommand, there could be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ml_line errors and/or a crash. (Schandl)&nbsp;&nbsp;Was caused by deleting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the current buffer.<br>
Solution:&nbsp;&nbsp; When the buffer to be deleted unexpectedly becomes the current<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer, don't delete it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also added a check for this in test13.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, src/testdir/test13.in, src/testdir/test13.ok<br>
<br>
Patch 5.4p.7<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When using&nbsp;<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a>&nbsp;set to &quot;popup_setpos&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clicking the right mouse button outside of the selected area, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selected area wasn't removed until the popup menu has gone.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Aaron)<br>
Solution:&nbsp;&nbsp; Set the cursor and update the display before showing the popup<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.4p.8<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The generated bugreport didn't contain information about<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$VIMRUNTIME and whether runtime files actually exist.<br>
Solution:&nbsp;&nbsp; Added a few checks to the bugreport script.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/bugreport.vim<br>
<br>
Patch 5.4p.9<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The windows install.exe created a wrong entry in the popup menu.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The &quot;%1&quot; was &quot;&quot;.&nbsp;&nbsp;The full directory was included, even when the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;executable had been moved elsewhere. (Ott)<br>
Solution:&nbsp;&nbsp; Double the '%' to get one from printf.&nbsp;&nbsp;Only include the path to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gvim.exe when it wasn't moved and it's not in $PATH.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/dosinst.c<br>
<br>
Patch 5.4p.10<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: On top of 5.4p.9: The &quot;Edit with Vim&quot; entry sometimes used<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a short file name for a directory.<br>
Solution:&nbsp;&nbsp; Change the &quot;%1&quot; to &quot;%L&quot; in the registry entry.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/dosinst.c<br>
<br>
Patch 5.4p.11<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif, Athena and GTK: When closing the GUI window when there is a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changed buffer, there was only an error message and Vim would not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit.<br>
Solution:&nbsp;&nbsp; Put up a dialog, like for &quot;:confirm qa&quot;.&nbsp;&nbsp;Uses the code that was<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;already used for MS-Windows.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c, src/gui_w32.c<br>
<br>
Patch 5.4p.12<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: Trying to expand a string that is longer than 256<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characters could cause a crash. (Steed)<br>
Solution:&nbsp;&nbsp; For the buffer in win32_expandpath() don't use a fixed size array,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allocate it.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
MSDOS: Added &quot;-Wall&quot; to Makefile.djg compile flags.&nbsp;&nbsp;Function prototypes for<br>
fname_case() and mch_update_cursor() were missing.&nbsp;&nbsp;&quot;fd&quot; was unused in<br>
mf_sync().&nbsp;&nbsp;&quot;puiLocation&quot; was unused in myputch().&nbsp;&nbsp;&quot;newcmd&quot; unused in<br>
mch_call_shell() for DJGPP version.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.5" name="version-5.5">version-5.5</a><br>
<br>
Version 5.5 is a bug-fix version of 5.4.<br>
<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.5" name="changed-5.5">changed-5.5</a><br>
<span class="PreProc">-------</span><br>
<br>
The DJGPP version is now compiled with &quot;-O2&quot; instead of &quot;-O4&quot; to reduce the<br>
size of the executables.<br>
<br>
Moved the src/STYLE file to runtime/doc/develop.txt.&nbsp;&nbsp;Added the design goals<br>
to it.<br>
<br>
<a class="Type" href="options.html#'backspace'">'backspace'</a>&nbsp;is now a string option.&nbsp;&nbsp;See patch 5.4.15.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.5" name="added-5.5">added-5.5</a><br>
<span class="PreProc">-----</span><br>
<br>
Included Exuberant Ctags version 3.3. (Darren Hiebert)<br>
<br>
In runtime/mswin.vim, map&nbsp;<span class="Special">CTRL-Q</span>&nbsp;to&nbsp;<span class="Special">CTRL-V</span>, so that&nbsp;<span class="Special">CTRL-Q</span>&nbsp;can be used<br>
everywhere to do what&nbsp;<span class="Special">CTRL-V</span>&nbsp;used to do.<br>
<br>
Support for decompression of bzip2 files in vimrc_example.vim.<br>
<br>
When a patch is included, the patch number is entered in a table in version.c.<br>
This allows skipping a patch without breaking a next one.<br>
<br>
Support for mouse scroll wheel in X11.&nbsp;&nbsp;See patch 5.5a.14.<br>
<br>
line2byte() can be used to get the size of the buffer.&nbsp;&nbsp;See patch 5.4.35.<br>
<br>
The&nbsp;<span class="Special">CTRL-R</span>&nbsp;<span class="Special">CTRL-O</span>&nbsp;r and&nbsp;<span class="Special">CTRL-R</span>&nbsp;<span class="Special">CTRL-P</span>&nbsp;r commands in Insert mode are used to<br>
insert a register literally.&nbsp;&nbsp;See patch 5.4.48.<br>
<br>
Uninstall program for MS-Windows.&nbsp;&nbsp;To be able to remove the registry entries<br>
for &quot;Edit with Vim&quot;.&nbsp;&nbsp;It is registered to be run from the &quot;Add/Remove<br>
programs&quot; application.&nbsp;&nbsp;See patch 5.4.x7.<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.5" name="fixed-5.5">fixed-5.5</a><br>
<span class="PreProc">-----</span><br>
<br>
When using vimrc_example.vim: An error message when the cursor is on a line<br>
higher than the number of lines in the compressed file.&nbsp;&nbsp;Move the autocommand<br>
for jumping to the last known cursor position to after the decompressing<br>
autocommands.<br>
<br>
&quot;:mkexrc&quot; and &quot;:mksession&quot; wrote the current value of&nbsp;<a class="Type" href="options.html#'textmode'">'textmode'</a>.&nbsp;&nbsp;That may<br>
mark a file as modified, which causes problems.&nbsp;&nbsp;This is a buffer-specific<br>
setting, it should not affect all files.<br>
<br>
&quot;vim --version&quot; wrote two empty lines.<br>
<br>
Unix: The alarm signal could kill Vim.&nbsp;&nbsp;It is generated by the Perl alarm()<br>
function.&nbsp;&nbsp;Ignore SIGALRM.<br>
<br>
Win32 GUI: Toolbar still had the yellow bitmap for running a Vim script.<br>
<br>
BeOS: &quot;tmo&quot; must be bigtime_t, instead of double. (Seibert)<br>
<br>
Patch 5.4.1<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Test11 fails when $GZIP is set to &quot;-v&quot;. (Matthew Jackson)<br>
Solution:&nbsp;&nbsp; Set $GZIP to an empty string.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/testdir/test11.in<br>
<br>
Patch 5.4.2<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Typing&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;at the crypt key prompt caused a crash. (Kallingal)<br>
Solution:&nbsp;&nbsp; Check for a NULL pointer returned from get_crypt_key().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.4.3<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Python: Trying to use the name of an unnamed buffer caused a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crash. (Daniel Burrows)<br>
Solution:&nbsp;&nbsp; Check for b_fname being a NULL pointer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/if_python.c<br>
<br>
Patch 5.4.4<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: When compiled without toolbar, but the 'T' flag is in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>, there would be an empty space for the toolbar.<br>
Solution:&nbsp;&nbsp; Add two #ifdefs where checking for the 'T' flag. (Vince Negri)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.4.5<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Athena GUI: Using the Buffers.Refresh menu entry caused a crash.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Looks like any &quot;:unmenu&quot; command may cause trouble.<br>
Solution:&nbsp;&nbsp; Disallow &quot;:unmenu&quot; in the Athena version.&nbsp;&nbsp;Disable the Buffers<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu, because the Refresh item would not work.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/menu.c, runtime/menu.vim<br>
<br>
Patch 5.4.6<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Using &quot;:gui&quot; in the .gvimrc file caused an error.&nbsp;&nbsp;Only<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;happens when the GUI forks.<br>
Solution:&nbsp;&nbsp; Don't fork in a recursive call of gui_start().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.4.7<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Typing 'q' at the more prompt for the ATTENTION message causes the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file loading to be interrupted. (Will Day)<br>
Solution:&nbsp;&nbsp; Reset got_int after showing the ATTENTION message.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/memline.c<br>
<br>
Patch 5.4.8<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Edit some file, &quot;:he&quot;, &quot;:opt&quot;: options from help window are shown,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but pressing space updates from the other window. (Phillipps)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: When there are changes in the option-window, &quot;:q!&quot; gives an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error message.<br>
Solution:&nbsp;&nbsp; Before creating the option-window, go to a non-help window.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use &quot;:bdel!&quot; to delete the buffer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/optwin.vim<br>
<br>
Patch 5.4.9<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just updates version.h.&nbsp;&nbsp;The real patch has been moved to 5.4.x1.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This patch is just to keep the version number correct.<br>
<br>
Patch 5.4.10<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: When $DISPLAY is invalid, &quot;gvim -f&quot; just exits.&nbsp;&nbsp;It<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;should run in the terminal.<br>
Solution:&nbsp;&nbsp; Use gtk_init_check() instead of gtk_init().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.4.11<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using the 'S' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>,&nbsp;<a class="Type" href="options.html#'tabstop'">'tabstop'</a>&nbsp;is not copied to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the next buffer for some commands, e.g., &quot;:buffer&quot;.<br>
Solution:&nbsp;&nbsp; When the BCO_NOHELP flag is given to buf_copy_options(), still<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy the options used by do_help() when neither the &quot;from&quot; or &quot;to&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer is a help buffer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.4.12<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using&nbsp;<a class="Type" href="options.html#'smartindent'">'smartindent'</a>, there would be no extra indent if the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current line did not have any indent already. (Hanus Adler)<br>
Solution:&nbsp;&nbsp; There was a wrongly placed &quot;else&quot;, that previously matched with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the &quot;if&quot; that set trunc_line.&nbsp;&nbsp;Removed the &quot;else&quot; and added a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check for trunc_line to be false.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c<br>
<br>
Patch 5.4.13<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;New SGI C compilers need another option for optimisation.<br>
Solution:&nbsp;&nbsp; Add a check in configure for &quot;-OPT:Olimit&quot;. (Chin A Young)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.4.14<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif GUI: When the popup menu is present, a tiny window appears<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on the desktop for some users.<br>
Solution:&nbsp;&nbsp; Set the menu widget ID for a popup menu to 0. (Thomas Koehler)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_motif.c<br>
<br>
Patch 5.4.15<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Since&nbsp;<a class="Type" href="options.html#'backspace'">'backspace'</a>&nbsp;set to 0 has been made Vi compatible, it is no<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;longer possible to only allow deleting autoindent.<br>
Solution:&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'backspace'">'backspace'</a>&nbsp;a list of parts, to allow each kind of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backspacing separately.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/option.c, src/option.h, src/proto/option.pro,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/option.txt, runtime/doc/insert.txt<br>
<br>
Patch 5.4.16<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multibyte: Locale zh_TW.Big5 was not checked for in configure.<br>
Solution:&nbsp;&nbsp; Add zh_TW.Big5 to configure check. (Chih-Tsun Huang)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.4.17<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI: When started from inside gvim with &quot;:!gvim&quot;, Vim would not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start.&nbsp;&nbsp;&quot;:!gvim -f&quot; works fine.<br>
Solution:&nbsp;&nbsp; After forking, wait a moment in the parent process, to give the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;child a chance to set its process group.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.4.18<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Python: The clear_history() function also exists in a library.<br>
Solution:&nbsp;&nbsp; Rename clear_history() to clear_hist().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c, src/eval.c, src/proto/ex_getln.pro<br>
<br>
Patch 5.4.19<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;In a terminal with 25 lines, there is a more prompt after the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ATTENTION message.&nbsp;&nbsp;When hitting 'q' here the dialog prompt<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doesn't appear and file loading is interrupted. (Will Day)<br>
Solution:&nbsp;&nbsp; Don't allow quitting the printing of a message for the dialog<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prompt.&nbsp;&nbsp;Added the msg_noquit_more flag for this.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/message.c<br>
<br>
Patch 5.4.20<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK: When starting gvim, would send escape sequences to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;terminal to switch the cursor off and on.<br>
Solution:&nbsp;&nbsp; Don't call msg_start() if the GUI is expected to start.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c<br>
<br>
Patch 5.4.21<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif: Toplevel menu ordering was wrong when using tear-off items.<br>
Solution:&nbsp;&nbsp; Don't add one to the index for a toplevel menu.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_motif.c<br>
<br>
Patch 5.4.22<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;In Insert mode,&nbsp;<span class="Special">&lt;C-Left&gt;</span>,&nbsp;<span class="Special">&lt;S-Left&gt;</span>,&nbsp;<span class="Special">&lt;C-Right&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;S-Right&gt;</span>&nbsp;didn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update the column used for vertical movement.<br>
Solution:&nbsp;&nbsp; Set curwin-&gt;w_set_curswant for those commands.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.4.23<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When a Visual selection is lost to another program, and then the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;same text is Visually selected again, the clipboard ownership<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wasn't regained.<br>
Solution:&nbsp;&nbsp; Set clipboard.vmode to NUL to force regaining the clipboard.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.4.24<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Encryption: When using &quot;:r file&quot; while&nbsp;<a class="Type" href="options.html#'key'">'key'</a>&nbsp;has already entered,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;<a class="Type" href="options.html#'key'">'key'</a>&nbsp;option would be messed up.&nbsp;&nbsp;When writing the file it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would be encrypted with an unknown key and lost! (Brad Despres)<br>
Solution:&nbsp;&nbsp; Don't free cryptkey when it is equal to the&nbsp;<a class="Type" href="options.html#'key'">'key'</a>&nbsp;option.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.4.25<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;is set, but&nbsp;<a class="Type" href="options.html#'autoindent'">'autoindent'</a>&nbsp;isn't, comments are not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;properly indented when starting a new line. (Mitterand)<br>
Solution:&nbsp;&nbsp; When there is a comment leader for the new line, but&nbsp;<a class="Type" href="options.html#'autoindent'">'autoindent'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isn't set, do C-indenting.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c<br>
<br>
Patch 5.4.26<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: a multi-byte character is never recognized in a file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name, causing a backslash before it to be removed on Windows.<br>
Solution:&nbsp;&nbsp; Assume that a leading-byte character is a file name character in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vim_isfilec().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/charset.c<br>
<br>
Patch 5.4.27<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Entries in the PopUp[nvic] menus were added for several modes, but<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only deleted for the mode they were used for.&nbsp;&nbsp;This resulted in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;entry remaining in the PopUp menu.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When removing a PopUp[nvic] menu, the name had been truncated,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;could result in greying-out the whole PopUp menu.<br>
Solution:&nbsp;&nbsp; Remove entries for all modes from the PopUp[nvic] menus.&nbsp;&nbsp;Remove<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the PopUp[nvic] menu entries first, before the name is changed.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/menu.c<br>
<br>
Patch 5.4.28<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using a BufWritePre autocommand to change&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new value would not be used for writing the file.<br>
Solution:&nbsp;&nbsp; Check&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;after executing the autocommands instead of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;before.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.4.29<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Athena GUI: When removing the 'g' flag from&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>, using a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu can result in a crash.<br>
Solution:&nbsp;&nbsp; Always grey-out menus for Athena, don't hide them.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/menu.c<br>
<br>
Patch 5.4.30<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;BeOS: Suspending Vim with&nbsp;<span class="Special">CTRL-Z</span>&nbsp;didn't work (killed Vim).&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;first character typed after &quot;:sh&quot; goes to Vim, instead of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;started shell.<br>
Solution:&nbsp;&nbsp; Don't suspend Vim, start a new shell.&nbsp;&nbsp;Kill the async read thread<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when starting a new shell.&nbsp;&nbsp;It will be restarted later. (Will Day)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c, src/ui.c<br>
<br>
Patch 5.4.31<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI: When&nbsp;<a class="Type" href="options.html#'mousefocus'">'mousefocus'</a>&nbsp;is set, moving the mouse over where a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window boundary was, causes a hit-enter prompt to be finished.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Jeff Walker)<br>
Solution:&nbsp;&nbsp; Don't use&nbsp;<a class="Type" href="options.html#'mousefocus'">'mousefocus'</a>&nbsp;at the hit-enter prompt.&nbsp;&nbsp;Also ignore it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for the more prompt and a few other situations.&nbsp;&nbsp;When an operator<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is pending, abort it first.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.4.32<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: $LDFLAGS was not passed to configure.<br>
Solution:&nbsp;&nbsp; Pass $LDFLAGS to configure just like $CFLAGS. (Jon Miner)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/Makefile<br>
<br>
Patch 5.4.33<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: After expanding an environment variable with the shell, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next expansion would also use the shell, even though it is not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;needed.<br>
Solution:&nbsp;&nbsp; Reset &quot;recursive&quot; before returning from gen_expand_wildcards().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c<br>
<br>
Patch 5.4.34 (also see 5.4.x5)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When editing a file, and the file name is relative to a directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;above the current directory, the file name was made absolute.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Gregory Margo)<br>
Solution:&nbsp;&nbsp; Add an argument to shorten_fnames() which indicates if all file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;names should be shortened, or only absolute names.&nbsp;&nbsp;In main() only<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;use shorten_fnames() to shorten absolute names.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, src/fileio.c, src/main.c, src/proto/fileio.pro<br>
<br>
Patch 5.4.35<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;There is no function to get the current file size.<br>
Solution:&nbsp;&nbsp; Allow using line2byte() with the number of lines in the file plus<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one.&nbsp;&nbsp;This returns the offset of the line past the end of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file, which is the file size plus one.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, runtime/doc/eval.txt<br>
<br>
Patch 5.4.36<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Comparing strings while ignoring case didn't work correctly for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;some machines. (Mide Steed)<br>
Solution:&nbsp;&nbsp; vim_stricmp() and vim_strnicmp() only returned 0 or 1.&nbsp;&nbsp;Changed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;them to return -1 when the first argument is smaller.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc2.c<br>
<br>
Patch 5.4.37 (also see 5.4.40 and 5.4.43)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Long strings from the viminfo file are truncated.<br>
Solution:&nbsp;&nbsp; When writing a long string to the viminfo file, first write a line<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with the length, then the string itself in a second line.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, src/ex_cmds.c, src/ex_getln.c, src/mark.c, src/ops.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/search.c, src/proto/ex_cmds.pro, runtime/syntax/viminfo.vim<br>
<br>
Patch 5.4.38<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;In the option-window, &quot;:set go&amp;&quot; resulted in&nbsp;<a class="Type" href="options.html#'go'">'go'</a>&nbsp;being handled<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;like a boolean option.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mappings for&nbsp;<span class="Special">&lt;Space&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;were overruled by the option-window.<br>
Solution:&nbsp;&nbsp; When the value of an option isn't 0 or 1, don't handle it like a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean option.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save and restore mappings for&nbsp;<span class="Special">&lt;Space&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;when entering and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leaving the option-window.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/optwin.vim<br>
<br>
Patch 5.4.39<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When setting a hidden option, spaces before the equal sign were<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not skipped and cause an error message.&nbsp;&nbsp;E.g., &quot;:set csprg =cmd&quot;.<br>
Solution:&nbsp;&nbsp; When skipping over a hidden option, check for a following &quot;=val&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and skip it too.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.4.40 (depends on 5.4.37)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compiler error for &quot;atol(p + 1)&quot;. (Axel Kielhorn)<br>
Solution:&nbsp;&nbsp; Add a typecast: &quot;atol((char *)p + 1)&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.4.41<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Some commands that were not included would give an error message,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;even when after &quot;if 0&quot;.<br>
Solution:&nbsp;&nbsp; Don't give an error message for an unsupported command when not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;executing the command.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.4.42<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:w&quot; would also cause a truncated message to appear in the message<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;history.<br>
Solution:&nbsp;&nbsp; Don't put a kept message in the message history when it starts<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with &quot;&lt;&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/message.c<br>
<br>
Patch 5.4.43 (depends on 5.4.37)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Mixing long lines with multiple lines in a register causes errors<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when writing the viminfo file. (Robinson)<br>
Solution:&nbsp;&nbsp; When reading the viminfo file to skip register contents, skip<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines that start with &quot;&lt;&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.4.44<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'whichwrap'">'whichwrap'</a>&nbsp;includes '~', a &quot;~&quot; command that goes on to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next line cannot be properly undone. (Zellner)<br>
Solution:&nbsp;&nbsp; Save each line for undo in n_swapchar().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.4.45 (also see 5.4.x8)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When expand(&quot;$ASDF&quot;) fails, there is an error message.<br>
Solution:&nbsp;&nbsp; Remove the global expand_interactively.&nbsp;&nbsp;Pass a flag down to skip<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the error message.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: expand(&quot;$ASDF&quot;) returns an empty string if $ASDF isn't set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Previously it returned &quot;$ASDF&quot; when&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;is &quot;sh&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: system() doesn't print an error when the command returns an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error code.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;many<br>
<br>
Patch 5.4.46<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Backspacing did not always use&nbsp;<a class="Type" href="options.html#'softtabstop'">'softtabstop'</a>&nbsp;after hitting&nbsp;<span class="Special">&lt;CR&gt;</span>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inserting a register, moving the cursor, etc.<br>
Solution:&nbsp;&nbsp; Reset inserted_space much more often in edit().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.4.47<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When executing BufWritePre or BufWritePost autocommands for a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hidden buffer, the cursor could be moved to a non-existing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position. (Vince Negri)<br>
Solution:&nbsp;&nbsp; Save and restore the cursor and topline for the current window<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when it is going to be used to execute autocommands for a hidden<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buffer.&nbsp;&nbsp;Use an existing window for the buffer when it's not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hidden.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.4.48<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;A paste with the mouse in Insert mode was not repeated exactly the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;same with &quot;.&quot;.&nbsp;&nbsp;For example, when&nbsp;<a class="Type" href="options.html#'autoindent'">'autoindent'</a>&nbsp;is set and pasting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text with leading indent. (Perry)<br>
Solution:&nbsp;&nbsp; Add the&nbsp;<span class="Special">CTRL-R</span>&nbsp;<span class="Special">CTRL-O</span>&nbsp;r and&nbsp;<span class="Special">CTRL-R</span>&nbsp;<span class="Special">CTRL-P</span>&nbsp;r commands in Insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode, which insert the contents of a register literally.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/normal.c, runtime/doc/insert.txt<br>
<br>
Patch 5.4.49<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When pasting text with [&nbsp;<span class="Special">&lt;MiddleMouse&gt;</span>, the cursor could end up<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;after the last character of the line.<br>
Solution:&nbsp;&nbsp; Correct the cursor position for the change in indent.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.4.x1 (<span class="Todo">note</span>: Replaces patch 5.4.9)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: menu hints were never used, because WANT_MENU is not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defined until vim.h is included.<br>
Solution:&nbsp;&nbsp; Move the #ifdef WANT_MENU from where MENUHINTS is defined to where<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it is used.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.4.x2<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;BeOS: When pasting text, one character was moved to the end.<br>
Solution:&nbsp;&nbsp; Re-enable the BeOS code in fill_input_buf(), and fix timing out<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with acquire_sem_etc(). (Will Day)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_beos.c, src/ui.c<br>
<br>
Patch 5.4.x3<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When dropping a directory on a running gvim it crashes.<br>
Solution:&nbsp;&nbsp; Avoid using a NULL file name.&nbsp;&nbsp;Also display a message to indicate<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that the current directory was changed.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.4.x4<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: Removing an item from the popup menu doesn't work.<br>
Solution:&nbsp;&nbsp; Don't remove the item from the menubar, but from the parent popup<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menu.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.4.x5 (addition to 5.4.34)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.4.x6<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: Expanding (dir)name starting with a dot doesn't work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(McCormack)&nbsp;&nbsp;Only when there is a path before it.<br>
Solution:&nbsp;&nbsp; Fix the check, done before expansion, if the file name pattern<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;starts with a dot.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
Patch 5.4.x7<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: Removing &quot;Edit with Vim&quot; from registry is difficult.<br>
Solution:&nbsp;&nbsp; Add uninstall program to remove the registry keys. It is installed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in the &quot;Add/Remove programs&quot; list for ease of use.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: don't set $VIM when the executable is with the runtime files.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: Add a text file with a step-by-step description of how to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uninstall Vim for DOS and Windows.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/uninstal.c, src/dosinst.c, src/Makefile.w32, uninstal.txt<br>
<br>
Patch 5.4.x8 (addition to 5.4.45)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;many<br>
<br>
Patch 5.4.x9<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: After executing an external command, focus is not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;always regained (when using focus-follows-mouse).<br>
Solution:&nbsp;&nbsp; Add SetFocus() in mch_system(). (Mike Steed)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
<br>
Patch 5.5a.1<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:let @* = @:&quot; did not work.&nbsp;&nbsp;The text was not put on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;&nbsp; clipboard.&nbsp;&nbsp;(Fisher)<br>
Solution:&nbsp;&nbsp; Own the clipboard and put the text on it.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.5a.2<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;append() did not mark the buffer modified.&nbsp;&nbsp;Marks below the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new line were not adjusted.<br>
Solution:&nbsp;&nbsp; Fix the f_append() function.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.5a.3<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Editing compressed &quot;.gz&quot; files doesn't work on non-Unix systems,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;because there is no &quot;mv&quot; command.<br>
Solution:&nbsp;&nbsp; Add the rename() function and use it instead of &quot;:!mv&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: Disable the automatic jump to the last position, because it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes the jumplist.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, runtime/doc/eval.txt, runtime/vimrc_example.vim<br>
<br>
Patch 5.5a.4<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using whole-line completion in insert mode while the cursor<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is in the indent, get &quot;out of memory&quot; error. (Stekrt)<br>
Solution:&nbsp;&nbsp; Don't allocate a negative amount of memory in ins_complete().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.5a.5<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: The&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;option can hold only up to 256 characters,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;because _MAX_PATH is 256.&nbsp;&nbsp;(Robert Webb)<br>
Solution:&nbsp;&nbsp; Use a fixed path length of 1024.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.h<br>
<br>
Patch 5.5a.6<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compiling with gcc on Win32, using the Unix Makefile, didn't work.<br>
Solution:&nbsp;&nbsp; Add $(SUFFIX) to all places where an executable is used.&nbsp;&nbsp;Also<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass it to ctags.&nbsp;&nbsp;(Reynolds)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/Makefile<br>
<br>
Patch 5.5a.7<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;cat | vim -&quot; in an xterm, the xterm version reply<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;would end up in the file.<br>
Solution:&nbsp;&nbsp; Read the file from stdin before switching the terminal to RAW<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode.&nbsp;&nbsp;Should also avoid problems with programs that use a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;specific terminal setting.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: when using the GUI, print &quot;Reading from stdin...&quot; in the GUI<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window, to give a hint why it doesn't do anything.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c, src/fileio.c<br>
<br>
Patch 5.5a.8<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;On multi-threaded Solaris, suspending doesn't work.<br>
Solution:&nbsp;&nbsp; Call pause() when the SIGCONT signal was not received after<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sending the SIGTSTP signal. (Nagano)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.5a.9<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'winaltkeys'">'winaltkeys'</a>&nbsp;could be set to an empty argument, which is illegal.<br>
Solution:&nbsp;&nbsp; Give an error message when doing &quot;:set winaltkeys=&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.5a.10<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 console: Using ALTGR on a German keyboard to produce &quot;}&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doesn't work, because the 8th bit is set when ALT is pressed.<br>
Solution:&nbsp;&nbsp; Don't set the 8th bit when ALT and CTRL are used. (Leipert)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
Patch 5.5a.11<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Tcl: Configure always uses tclsh8.0.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: Loading a library doesn't work.<br>
Solution:&nbsp;&nbsp; Add &quot;--with-tclsh&quot; configure argument to allow specifying another<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name for the tcl shell.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call Tcl_Init() in tclinit() to make loading libraries work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Johannes Zellner)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure, src/if_tcl.c<br>
<br>
Patch 5.5a.12<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The &quot;user_commands&quot; feature is called &quot;user-commands&quot;.<br>
Solution:&nbsp;&nbsp; Replace &quot;user-commands&quot; with &quot;user_commands&quot;. (Kim Sung-bom)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Keep &quot;user-commands&quot; for the has() function, to remain backwards<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compatible with 5.4.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, src/version.c<br>
<br>
Patch 5.5a.13<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;OS/2: When $HOME is not defined, &quot;C:/&quot; is used for the viminfo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file.&nbsp;&nbsp;That is very wrong when OS/2 is on another partition.<br>
Solution:&nbsp;&nbsp; Use $VIM for the viminfo file when it is defined, like for MSDOS.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: Makefile.os2 didn't depend on os_unix.h.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.h, src/Makefile.os2<br>
<br>
Patch 5.5a.14<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Athena, Motif and GTK: The Mouse scroll wheel doesn't work.<br>
Solution:&nbsp;&nbsp; Interpret a click of the wheel as a key press of the&nbsp;<span class="Special">&lt;MouseDown&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;<span class="Special">&lt;MouseUp&gt;</span>&nbsp;keys.&nbsp;&nbsp;Default behavior is to scroll three lines, or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a full page when Shift is used.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/ex_getln.c, src/gui.c, src/gui_gtk_x11.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_x11.c, src/keymap.h, src/message.c, src/misc1.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc2.c, src/normal.c,&nbsp;&nbsp;src/proto/normal.pro, src/vim.h,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/scroll.txt<br>
<br>
Patch 5.5a.15<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using&nbsp;<span class="Special">CTRL-A</span>&nbsp;in Insert mode doesn't work correctly when the insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;started with the&nbsp;<span class="Special">&lt;Insert&gt;</span>&nbsp;key. (Andreas Rohrschneider)<br>
Solution:&nbsp;&nbsp; Replace&nbsp;<span class="Special">&lt;Insert&gt;</span>&nbsp;with &quot;i&quot; before setting up the redo buffer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.5a.16<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;VMS: GUI does not compile and run.<br>
Solution:&nbsp;&nbsp; Various fixes. (Zoltan Arpadffy)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Moved functions from os_unix.c to ui.c, so that VMS can use them<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;too: open_app_context(), x11_setup_atoms() and clip_x11* functions.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Made xterm_dpy global, it's now used by ui.c and os_unix.c.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use gethostname() always, sys_hostname doesn't exist.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/globals.h, src/gui_x11.c, src/os_vms.mms, src/os_unix.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_vms.c, src/ui.c, src/proto/os_unix.pro, src/proto/ui.pro<br>
<br>
Renamed AdjustCursorForMultiByteCharacter() to AdjustCursorForMultiByteChar()<br>
to avoid symbol length limit of 31 characters. (Steve P. Wall)<br>
<br>
Patch 5.5b.1<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;SASC complains about dead assignments and implicit type casts.<br>
Solution:&nbsp;&nbsp; Removed the dead assignments.&nbsp;&nbsp;Added explicit type casts.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, src/edit.c, src/eval.c, src/ex_cmds.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c, src/fileio.c, src/getchar.c, src/memline.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/menu.c, src/misc1.c, src/normal.c, src/ops.c, src/quickfix.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.5b.2<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;<span class="Special">CTRL-O</span>&nbsp;O&quot; in Insert mode, hit&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;and then &quot;o&quot; in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;another line truncates that line. (Devin Weaver)<br>
Solution:&nbsp;&nbsp; When using a command that starts Insert mode from&nbsp;<span class="Special">CTRL-O</span>, reset<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;restart_edit&quot; first.&nbsp;&nbsp;This avoids that edit() is called with a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mix of starting a new edit command and restarting a previous one.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.6" name="version-5.6">version-5.6</a><br>
<br>
Version 5.6 is a bug-fix version of 5.5.<br>
<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.6" name="changed-5.6">changed-5.6</a><br>
<span class="PreProc">-------</span><br>
<br>
Small changes to OleVim files. (Christian Schaller)<br>
<br>
Inserted &quot;/**/&quot; between patch numbers in src/version.c.&nbsp;&nbsp;This allows for one<br>
line of context, which some versions of patch need.<br>
<br>
Reordered the Syntax menu to avoid long submenus.&nbsp;&nbsp;Removed keyboard shortcuts<br>
for alphabetical items to avoid a clash with fixed items.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.6" name="added-5.6">added-5.6</a><br>
<span class="PreProc">-----</span><br>
<br>
Included Exuberant Ctags version 3.4. (Darren Hiebert)<br>
<br>
OpenWithVim in Python. (Christian Schaller)<br>
<br>
Win32 GUI: gvimext.dll, for the context menu &quot;Edit with Vim&quot; entry.&nbsp;&nbsp;Avoids<br>
the reported problems with the MS Office taskbar.&nbsp;&nbsp;Now it's a Shell Extension.<br>
(Tianmiao Hu)<br>
<br>
New syntax files:<br>
abel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abel (John Cook)<br>
aml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Arc Macro Language (Nikki Knuit)<br>
apachestyle&nbsp;&nbsp;&nbsp;&nbsp; Apache-style config file (Christian Hammers)<br>
cf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cold Fusion (Jeff Lanzarotta)<br>
ctrlh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; files with&nbsp;<span class="Special">CTRL-H</span>&nbsp;sequences (Bram Moolenaar)<br>
cupl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CUPL (John Cook)<br>
cuplsim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CUPL simulation (John Cook)<br>
erlang&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Erlang (Kresimir Marzic)<br>
gedcom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gedcom (Paul Johnson)<br>
icon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Icon (Wendell Turner)<br>
ist&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MakeIndex style (Peter Meszaros)<br>
jsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Java Server Pages (Rafael Garcia-Suarez)<br>
rcslog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rcslog (Joe Karthauser)<br>
remind&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remind (Davide Alberani)<br>
sqr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Structured Query Report Writer (Paul Moore)<br>
tads&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TADS (Amir Karger)<br>
texinfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Texinfo (Sandor Kopanyi)<br>
xpm2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;X Pixmap v2 (Steve Wall)<br>
<br>
The 'C' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;can be used to switch off concatenation for<br>
sourced lines.&nbsp;&nbsp;See patch 5.5.013 below.&nbsp;<a class="Identifier" href="repeat.html#line-continuation">line-continuation</a><br>
<br>
&quot;excludenl&quot; argument for the &quot;:syntax&quot; command.&nbsp;&nbsp;See patch 5.5.032 below.<br>
<a class="Identifier" href="syntax.html#:syn-excludenl">:syn-excludenl</a><br>
<br>
Implemented&nbsp;<a class="Identifier" href="scroll.html#z+">z+</a>&nbsp;and&nbsp;<a class="Identifier" href="scroll.html#z^">z^</a>&nbsp;commands.&nbsp;&nbsp;See patch 5.5.050 below.<br>
<br>
Vim logo in Corel Draw format.&nbsp;&nbsp;Can be scaled to any resolution.<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.6" name="fixed-5.6">fixed-5.6</a><br>
<span class="PreProc">-----</span><br>
<br>
Using this mapping in Select mode, terminated completion:<br>
&quot;:vnoremap&nbsp;<span class="Special">&lt;C-N&gt;</span>&nbsp;<span class="Special">&lt;Esc&gt;</span>a<span class="Special">&lt;C-N&gt;</span>&quot; (Benji Fisher)<br>
Ignore K_SELECT in ins_compl_prep().<br>
<br>
VMS (Zoltan Arpadffy, David Elins):<br>
- ioctl() in pty.c caused trouble, #ifndef VMS added.<br>
- Cut &amp; paste mismatch corrected.<br>
- Popup menu line crash corrected.&nbsp;&nbsp;(Patch 5.5.047)<br>
- Motif directories during open and save as corrected.<br>
- Handle full file names with version numbers. (Patch 5.5.046)<br>
- Directory handling (CD command etc.)<br>
- Corrected file name conversion VMS to Unix and v.v.<br>
- Recovery was not working.<br>
- Terminal and signal handling was outdated compared to os_unix.c.<br>
- Improved os_vms.txt.<br>
<br>
Configure used fprintf() instead of printf() to check for __DATE__ and<br>
__TIME__. (John Card II)<br>
<br>
BeOS: Adjust computing the char_height and char_ascent.&nbsp;&nbsp;Round them up<br>
separately, avoids redrawing artifacts. (Mike Steed)<br>
<br>
Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and<br>
findmatchlimit(). (Taro Muraoka)<br>
<br>
GTK GUI:<br>
- With GTK 1.2.5 and later the scrollbars were not redrawn correctly.<br>
- Adjusted the gtk_form_draw() function.<br>
- SNiFF connection didn't work.<br>
-&nbsp;<a class="Type" href="options.html#'mousefocus'">'mousefocus'</a>&nbsp;was not working. (Dalecki)<br>
- Some keys were not working with modifiers: Shift-Tab, Ctrl-Space and&nbsp;<span class="Special">CTRL-@</span>.<br>
<br>
<br>
Patch 5.5.001<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Configure in the top directory did not pass on an argument with a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;space correctly.&nbsp;&nbsp;For example &quot;./configure --previs=&quot;/My home&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Stephane Chazelas)<br>
Solution:&nbsp;&nbsp; Use '&quot;$@&quot;' instead of '$*' to pass on the arguments.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;configure<br>
<br>
Patch 5.5.002<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compilation error for using &quot;fds[] &amp; POLLIN&quot;. (Jeff Walker)<br>
Solution:&nbsp;&nbsp; Use &quot;fds[].revents &amp; POLLIN&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.5.003<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The autoconf check for sizeof(int) is wrong on machines where<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sizeof(size_t) != sizeof(int).<br>
Solution:&nbsp;&nbsp; Use our own configure check.&nbsp;&nbsp;Also fixes the warning for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cross-compiling.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.5.004<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;On Unix it's not possible to interrupt &quot;:sleep 100&quot;.<br>
Solution:&nbsp;&nbsp; Switch terminal to cooked mode while asleep, to allow a SIGINT to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wake us up.&nbsp;&nbsp;But switch off echo, added TMODE_SLEEP.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.h, src/os_unix.c<br>
<br>
Patch 5.5.005<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using&nbsp;<span class="Special">&lt;f-args&gt;</span>&nbsp;with a user command, an empty argument to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command resulted in one empty string, while no string was<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expected.<br>
Solution:&nbsp;&nbsp; Catch an empty argument and pass no argument to the function.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Paul Moore)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.5.006<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Python: When platform-dependent files are in another directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;than the platform-independent files it doesn't work.<br>
Solution:&nbsp;&nbsp; Also check the executable directory, and add it to CFLAGS. (Tessa<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lau)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.5.007 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 OLE: Occasional crash when exiting while still being used<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;via OLE.<br>
Solution:&nbsp;&nbsp; Move OleUninitialize() to before deleting the application object.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Vince Negri)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/if_ole.cpp<br>
<br>
Patch 5.5.008<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;10000@@ takes a long time and cannot be interrupted.<br>
Solution:&nbsp;&nbsp; Check for&nbsp;<span class="Special">CTRL-C</span>&nbsp;typed while in the loop to push the register.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.5.009<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Recent Sequent machines don't link with &quot;-linet&quot;. (Kurtis Rader)<br>
Solution:&nbsp;&nbsp; Remove configure check for Sequent.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.5.010<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Ctags freed a memory block twice when exiting.&nbsp;&nbsp;When out of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memory, a misleading error message was given.<br>
Solution:&nbsp;&nbsp; Update to ctags 3.3.2.&nbsp;&nbsp;Also fixes a few other problems. (Darren<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hiebert)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ctags/*<br>
<br>
Patch 5.5.011<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;After &quot;<span class="Special">CTRL-V</span>&nbsp;s&quot;, the cursor jumps back to the start, while all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;other operators leave the cursor on the last changed character.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Xiangjiang Ma)<br>
Solution:&nbsp;&nbsp; Position cursor on last changed character, if possible.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.5.012<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using&nbsp;<span class="Special">CTRL-]</span>&nbsp;in Visual mode doesn't work when the text includes a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;space (just where it's useful). (Stefan Bittner)<br>
Solution:&nbsp;&nbsp; Don't escape special characters in a tag name with a backslash.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.5.013<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The &quot;:append&quot; and &quot;:insert&quot; commands allow using a leading<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backslash in a line.&nbsp;&nbsp;The &quot;:source&quot; command concatenates those<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines. (Heinlein)<br>
Solution:&nbsp;&nbsp; Add the 'C' flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;to switch off concatenation.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, src/option.h, runtime/doc/options.txt,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/filetype.vim, runtime/scripts.vim<br>
<br>
Patch 5.5.014<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When executing a register with &quot;:@&quot;, the &quot;:append&quot; command would<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get text lines with a ':' prepended. (Heinlein)<br>
Solution:&nbsp;&nbsp; Remove the ':' characters.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, src/ex_getln.c, src/globals.h<br>
<br>
Patch 5.5.015<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:g/pat/p&quot;, it's hard to see where the output starts,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the &quot;:g&quot; command is overwritten.&nbsp;&nbsp;Vi keeps the &quot;:g&quot; command.<br>
Solution:&nbsp;&nbsp; Keep the &quot;:g&quot; command, but allow overwriting it with the report<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for the number of changes.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.5.016 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: Using regedit to install Vim in the popup menu requires the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user to confirm this in a dialog.<br>
Solution:&nbsp;&nbsp; Use &quot;regedit /s&quot; to avoid the dialog<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/dosinst.c<br>
<br>
Patch 5.5.017<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;If an error occurs when closing the current window, Vim could get<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stuck in the error handling.<br>
Solution:&nbsp;&nbsp; Don't set curwin to NULL when closing the current window.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/window.c<br>
<br>
Patch 5.5.018<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Absolute paths in shell scripts do not always work.<br>
Solution:&nbsp;&nbsp; Use /usr/bin/env to find out the path.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/vim2html.pl, runtime/tools/efm_filter.pl,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/tools/shtags.pl<br>
<br>
Patch 5.5.019<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;A function call in&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;stops using &quot;:q&quot; twice from<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exiting, when the last argument hasn't been edited.<br>
Solution:&nbsp;&nbsp; Don't decrement quitmore when executing a function. (Madsen)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.5.020<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When the output of&nbsp;<span class="Special">CTRL-D</span>&nbsp;completion in the commandline goes all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the way to the last column, there is an empty line.<br>
Solution:&nbsp;&nbsp; Don't add a newline when the cursor wrapped already. (Madsen)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c<br>
<br>
Patch 5.5.021<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When checking if a file name in the tags file is relative,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;environment variables were not expanded.<br>
Solution:&nbsp;&nbsp; Expand the file name before checking if it is relative. (Madsen)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/tag.c<br>
<br>
Patch 5.5.022<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When setting or resetting&nbsp;<a class="Type" href="options.html#'paste'">'paste'</a>&nbsp;the ruler wasn't updated.<br>
Solution:&nbsp;&nbsp; Update the status lines when&nbsp;<a class="Type" href="options.html#'ruler'">'ruler'</a>&nbsp;changes because of&nbsp;<a class="Type" href="options.html#'paste'">'paste'</a>.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.5.023<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When editing a new file and autocommands change the cursor<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position, the cursor was moved back to the first non-white, unless<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'startofline'">'startofline'</a>&nbsp;was reset.<br>
Solution:&nbsp;&nbsp; Keep the new column, just like the line number.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.5.024 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When using confirm() to put up a dialog without a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default button, the dialog would not have keyboard focus.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Krishna)<br>
Solution:&nbsp;&nbsp; Always set focus to the dialog window.&nbsp;&nbsp;Only set focus to a button<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when a default one is specified.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.5.025<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;keepend&quot; in a syntax region, a contained match that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includes the end-of-line could still force that region to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue, if there is another contained match in between.<br>
Solution:&nbsp;&nbsp; Check the keepend_level in check_state_ends().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c<br>
<br>
Patch 5.5.026<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When starting Vim in a white-on-black xterm, with&nbsp;<a class="Type" href="options.html#'bg'">'bg'</a>&nbsp;set to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;dark&quot;, and then starting the GUI with &quot;:gui&quot;, setting&nbsp;<a class="Type" href="options.html#'bg'">'bg'</a>&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;light&quot; in the gvimrc, the highlighting isn't set.&nbsp;&nbsp;(Tsjokwing)<br>
Solution:&nbsp;&nbsp; Set the highlighting when&nbsp;<a class="Type" href="options.html#'bg'">'bg'</a>&nbsp;is changed in the gvimrc, even<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;though full_screen isn't set.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.5.027<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: os_unix.c doesn't compile when XTERM_CLIP is used but<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WANT_TITLE isn't. (Barnum)<br>
Solution:&nbsp;&nbsp; Move a few functions that are used by the X11 title and clipboard<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and put another &quot;#if&quot; around it.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.5.028 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When a file is dropped on Win32 gvim while at the &quot;:&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prompt, the file is edited but the command line is actually still<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;there, the cursor goes back to command line on the next command.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Krishna)<br>
Solution:&nbsp;&nbsp; When dropping a file or directory on gvim while at the &quot;:&quot; prompt,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;insert the name of the file/directory.&nbsp;&nbsp;Allows using the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file/directory name for any Ex command.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.5.029<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;das&quot; at the end of the file didn't delete the last character of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the sentence.<br>
Solution:&nbsp;&nbsp; When there is no character after the sentence, make the operation<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inclusive in current_sent().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/search.c<br>
<br>
Patch 5.5.030<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: in os_unix.c, &quot;term_str&quot; is used, which is also defined in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vim.h as a macro. (wuxin)<br>
Solution:&nbsp;&nbsp; Renamed &quot;term_str&quot; to &quot;buf&quot; in do_xterm_trace().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.5.031 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When exiting Windows, gvim will leave swap files behind<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and will be killed ungracefully. (Krishna)<br>
Solution:&nbsp;&nbsp; Catch the WM_QUERYENDSESSION and WM_ENDSESSION messages and try to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit gracefully.&nbsp;&nbsp;Allow the user to cancel the shutdown if there<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is a changed buffer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.5.032<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Patch 5.5.025 wasn't right.&nbsp;&nbsp;And C highlighting was still not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;working correctly for a #define.<br>
Solution:&nbsp;&nbsp; Added &quot;excludenl&quot; argument to &quot;:syntax&quot;, to be able not to extend<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a containing item when there is a match with the end-of-line.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c, runtime/doc/syntax.txt, runtime/syntax/c.vim<br>
<br>
Patch 5.5.033<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When reading from stdin, a long line in viminfo would mess up the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file message.&nbsp;&nbsp;readfile() uses IObuff for keep_msg, which could be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overwritten by anyone.<br>
Solution:&nbsp;&nbsp; Copy the message from IObuff to msg_buf and set keep_msg to that.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also change vim_fgets() to not use IObuff any longer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.5.034<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;gvim -rv&quot; caused a crash.&nbsp;&nbsp;Using&nbsp;<a class="Type" href="term.html#'t_Co'">'t_Co'</a>&nbsp;before it's set.<br>
Solution:&nbsp;&nbsp; Don't try to initialize the highlighting before it has been<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initialized from main().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c<br>
<br>
Patch 5.5.035<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK with XIM: Resizing with status area was messy, and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;:set guioptions+=b&quot; didn't work.<br>
Solution:&nbsp;&nbsp; Make status area a separate widget, but not a separate window.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Chi-Deok Hwang)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_f.c, src/gui_gtk_x11.c, src/multbyte.c<br>
<br>
Patch 5.5.036<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The GZIP_read() function in $VIMRUNTIME/vimrc_example.vim to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uncompress a file did not do detection for&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>.&nbsp;&nbsp;This is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;because the filtering is done with&nbsp;<a class="Type" href="options.html#'binary'">'binary'</a>&nbsp;set.<br>
Solution:&nbsp;&nbsp; Split the filtering into separate write, filter and read commands.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/vimrc_example.vim<br>
<br>
Patch 5.5.037<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The &quot;U&quot; command didn't mark the buffer as changed. (McCormack)<br>
Solution:&nbsp;&nbsp; Set the&nbsp;<a class="Type" href="options.html#'modified'">'modified'</a>&nbsp;flag when using &quot;U&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/undo.c<br>
<br>
Patch 5.5.038<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When typing a long &quot;:&quot; command, so that the screen scrolls up,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;causes the hit-enter prompt, even though the user just typed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return to execute the command.<br>
Solution:&nbsp;&nbsp; Reset need_wait_return if (part of) the command was typed in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getcmdline().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c<br>
<br>
Patch 5.5.039<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using a custom status line, &quot;%a&quot; (file # of #) reports the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;index of the current window for all windows.<br>
Solution:&nbsp;&nbsp; Pass a window pointer to append_arg_number(), and pass the window<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;being updated from build_stl_str_hl(). (Stephen P. Wall)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, src/screen.c, src/proto/buffer.pro<br>
<br>
Patch 5.5.040<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: When there is some error in xim_real_init(), it can<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close XIM and return.&nbsp;&nbsp;After this there can be a segv.<br>
Solution:&nbsp;&nbsp; Test &quot;xic&quot; for being non-NULL, don't set &quot;xim&quot; to NULL.&nbsp;&nbsp;Also try<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to find more matches for supported styles. (Sung-Hyun Nam)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/multbyte.c<br>
<br>
Patch 5.5.041<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;X11 GUI:&nbsp;<span class="Special">CTRL-_</span>&nbsp;requires the SHIFT key only on some machines.<br>
Solution:&nbsp;&nbsp; Translate&nbsp;<span class="Special">CTRL--</span>&nbsp;to&nbsp;<span class="Special">CTRL-_</span>. (Robert Webb)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_x11.c<br>
<br>
Patch 5.5.042<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;X11 GUI: keys with ALT were assumed to be used for the menu, even<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when the menu has been disabled by removing 'm' from&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>.<br>
Solution:&nbsp;&nbsp; Ignore keys with ALT only when gui.menu_is_active is set. (Raf)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_x11.c<br>
<br>
Patch 5.5.043<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK: Handling of fontset fonts was not right when&nbsp;<a class="Type" href="options.html#'guifontset'">'guifontset'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contains exactly 14 times '-'.<br>
Solution:&nbsp;&nbsp; Avoid setting fonts when working with a fontset. (Sung-Hyun Nam)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.5.044<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;pltags.pl contains an absolute path &quot;/usr/local/bin/perl&quot;.&nbsp;&nbsp;That<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;might not work everywhere.<br>
Solution:&nbsp;&nbsp; Use &quot;/usr/bin/env perl&quot; instead.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/tools/pltags.pl<br>
<br>
Patch 5.5.045<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using &quot;this_session&quot; variable does not work, requires preceding it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with &quot;v:&quot;.&nbsp;&nbsp;Default filename for &quot;:mksession&quot; isn't mentioned<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in the docs. (Fisher)<br>
Solution:&nbsp;&nbsp; Support using &quot;this_session&quot; to be backwards compatible.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, runtime/doc/options.txt<br>
<br>
Patch 5.5.046 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;VMS: problems with path and filename.<br>
Solution:&nbsp;&nbsp; Truncate file name at last ';', etc. (Zoltan Arpadffy)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, src/fileio.c, src/gui_motif.c, src/os_vms.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/os_vms.pro<br>
<br>
Patch 5.5.047<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;VMS: Crash when using the popup menu<br>
Solution:&nbsp;&nbsp; Turn the #define MENU_MODE_CHARS into an array. (Arpadffy)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/structs.h, src/menu.c<br>
<br>
Patch 5.5.048<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;HP-UX 11: Compiling doesn't work, because both string.h and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strings.h are included. (Squassabia)<br>
Solution:&nbsp;&nbsp; The configure test for including both string.h and strings.h<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;must include &lt;Xm/Xm.h&gt; first, because it causes problems.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure, src/config.h.in<br>
<br>
Patch 5.5.049<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: When installing Vim, the protection bits of files might be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;influenced by the umask.<br>
Solution:&nbsp;&nbsp; Add $(FILEMOD) to Makefile. (Shetye)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/Makefile<br>
<br>
Patch 5.5.050<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;z+&quot; and &quot;z^&quot; commands are missing.<br>
Solution:&nbsp;&nbsp; Implemented &quot;z+&quot; and &quot;z^&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c, runtime/doc/scroll.txt, runtime/doc/index.txt<br>
<br>
Patch 5.5.051<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Several Unix systems have a problem with the optimization limits<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check in configure.<br>
Solution:&nbsp;&nbsp; Removed the configure check, let the user add it manually in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makefile or the environment.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure, src/Makefile<br>
<br>
Patch 5.5.052<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Crash when using a cursor key at the ATTENTION prompt. (Alberani)<br>
Solution:&nbsp;&nbsp; Ignore special keys at the console dialog.&nbsp;&nbsp;Also ignore characters<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; 255 for other uses of tolower() and toupper().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/menu.c, src/message.c, src/misc2.c<br>
<br>
Patch 5.5.053<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Indenting is wrong after a function when&nbsp;<a class="Type" href="options.html#'cino'">'cino'</a>&nbsp;has &quot;fs&quot;.&nbsp;&nbsp;Another<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;problem when&nbsp;<a class="Type" href="options.html#'cino'">'cino'</a>&nbsp;has &quot;{s&quot;.<br>
Solution:&nbsp;&nbsp; Put line after closing &quot;}&quot; of a function at the left margin.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apply ind_open_extra in the right way after a '{'.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok<br>
<br>
Patch 5.5.054<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: &quot;:e #&quot; doesn't work if the alternate file name contains a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;space or backslash. (Hudacek)<br>
Solution:&nbsp;&nbsp; When replacing &quot;#&quot;, &quot;%&quot; or other items that stand for a file name,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prepend a backslash before special characters.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.5.055<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using &quot;<span class="Special">&lt;C-V&gt;</span>$r-&quot; in blockwise Visual mode replaces one character<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;beyond the end of the line. (Zivkov)<br>
Solution:&nbsp;&nbsp; Only replace existing characters.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.5.056<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;After &quot;z20<span class="Special">&lt;CR&gt;</span>&quot; messages were printed at the old command line<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;position once.&nbsp;&nbsp;(Veselinovic)<br>
Solution:&nbsp;&nbsp; Set msg_row and msg_col when changing cmdline_row in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win_setheight().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/window.c<br>
<br>
Patch 5.5.057<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;After &quot;S<span class="Special">&lt;Esc&gt;</span>&quot; it should be possible to restore the line with &quot;U&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Veselinovic)<br>
Solution:&nbsp;&nbsp; Don't call u_clearline() in op_delete() when changing only one<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.5.058<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using a long search pattern and then &quot;n&quot; causes the hit-enter<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prompt.&nbsp;&nbsp;(Krishna)<br>
Solution:&nbsp;&nbsp; Truncate the echoed pattern, like other messages.&nbsp;&nbsp;Moved code for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;truncating from msg_attr() to msg_strtrunc().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/message.c, src/proto/message.pro, src/search.c<br>
<br>
Patch 5.5.059<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: When $term is invalid, using &quot;gvim&quot; gives an error<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message, even though $term isn't really used.&nbsp;&nbsp;(Robbins)<br>
Solution:&nbsp;&nbsp; When the GUI is about to start, skip the error messages for a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong $term.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.c<br>
<br>
Patch 5.5.060 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Dos 32 bit: When a directory in&nbsp;<a class="Type" href="options.html#'backupdir'">'backupdir'</a>&nbsp;doesn't exist, &quot;:w&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;causes the file to be renamed to &quot;axlqwqhy.ba~&quot;. (Matzdorf)<br>
Solution:&nbsp;&nbsp; The code to work around a LFN bug in Windows 95 doesn't handle a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non-existing target name correctly.&nbsp;&nbsp;When renaming fails, make<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sure the file has its original name.&nbsp;&nbsp;Also do this for the Win32<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version, although it's unlikely that it runs into this problem.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_msdos.c, src/os_win32.c<br>
<br>
Patch 5.5.061<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;\:&quot; in a modeline, the backslash is included in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option value. (Mohsin)<br>
Solution:&nbsp;&nbsp; Remove one backslash before the ':' in a modeline.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, runtime/doc/options.txt<br>
<br>
Patch 5.5.062 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 console: Temp files are created in the root of the current<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;drive, which may be read-only. (Peterson)<br>
Solution:&nbsp;&nbsp; Use the same mechanism of the GUI version: Use $TMP, $TEMP or the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current directory.&nbsp;&nbsp;Cleaned up vim_tempname() a bit.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c, src/os_win32.h, runtime/doc/os_dos.txt<br>
<br>
Patch 5.5.063<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using whole-line completion in Insert mode,&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;applied, even after changing the indent of the line.<br>
Solution:&nbsp;&nbsp; Don't reindent the completed line after inserting/removing indent.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Robert Webb)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.5.064<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;has(&quot;sniff&quot;) doesn't work correctly.<br>
Solution:&nbsp;&nbsp; Return 1 when Vim was compiled with the +sniff feature. (Pruemmer)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.5.065<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When dropping a file on Vim, the&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;option is not<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;effective. (Krishna)<br>
Solution:&nbsp;&nbsp; Fix the slashes in the dropped file names according to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, runtime/doc/options.txt<br>
<br>
Patch 5.5.066<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;For systems with backslash in file name: Setting a file name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option to a value starting with &quot;\\machine&quot; removed a backslash.<br>
Solution:&nbsp;&nbsp; Keep the double backslash for &quot;\\machine&quot;, but do change<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\\\machine&quot; to &quot;\\machine&quot; for backwards compatibility.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c, runtime/doc/options.txt<br>
<br>
Patch 5.5.067<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;With&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;set, the pattern &quot;\&gt;&quot; doesn't highlight the first<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match in a line. (Benji Fisher)<br>
Solution:&nbsp;&nbsp; Fix highlighting an empty match.&nbsp;&nbsp;Also highlight the first<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character in an empty line for &quot;$&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.5.068<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Crash when a &quot;:while&quot; is used with an argument that has an error.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Sylvain Viart)<br>
Solution:&nbsp;&nbsp; Was using an uninitialized index in the cs_line[] array.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crash only happened when the index was far off.&nbsp;&nbsp;Made sure the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uninitialized index isn't used.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.5.069<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Shifting lines in blockwise Visual mode didn't set the&nbsp;<a class="Type" href="options.html#'modified'">'modified'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag.<br>
Solution:&nbsp;&nbsp; Do set the&nbsp;<a class="Type" href="options.html#'modified'">'modified'</a>&nbsp;flag.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.5.070<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When editing a new file, creating that file outside of Vim, then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;editing it again, &quot;:w&quot; still warns for overwriting an existing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file. (Nam)<br>
Solution:&nbsp;&nbsp; The BF_NEW flag in the &quot;b_flags&quot; field wasn't cleared properly.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, src/fileio.c<br>
<br>
Patch 5.5.071<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using a matchgroup in a &quot;:syn region&quot;, which is the same syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group as the region, didn't stop a contained item from matching in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the start pattern.<br>
Solution:&nbsp;&nbsp; Also push an item on the stack when the syntax ID of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;matchgroup is the same as the syntax ID of the region.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c<br>
<br>
Patch 5.5.072 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Dos 32 bit: When setting&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;to a too large value, Vim may<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crash, and the DOS console too.<br>
Solution:&nbsp;&nbsp; Check that the value of&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;isn't larger than the number of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;columns that the BIOS reports.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_msdos.c, src/proto/os_msdos.pro, src/option.c<br>
<br>
Patch 5.5.073 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win 32 GUI: The Find and Find/Replace dialogs didn't show the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;match case&quot; checkbox.&nbsp;&nbsp;The Find/Replace dialog didn't handle the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;match whole word&quot; checkbox.<br>
Solution:&nbsp;&nbsp; Support the &quot;match case&quot; and &quot;match whole word&quot; checkboxes.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.6a.001<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using&nbsp;<span class="Special">&lt;C-End&gt;</span>&nbsp;with a count doesn't work like it does with &quot;G&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Benji Fisher)<br>
Solution:&nbsp;&nbsp; Accept a count for&nbsp;<span class="Special">&lt;C-End&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;C-Home&gt;</span>.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.6a.002<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The script for conversion to HTML was an older version.<br>
Solution:&nbsp;&nbsp; Add support for running 2html.vim on a color terminal.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/syntax/2html.vim<br>
<br>
Patch 5.6a.003<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Defining a function inside a function didn't give an error<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message.&nbsp;&nbsp;A missing &quot;:endfunction&quot; doesn't give an error message.<br>
Solution:&nbsp;&nbsp; Allow defining a function inside a function.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, runtime/doc/eval.txt<br>
<br>
Patch 5.6a.004<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;A missing &quot;:endwhile&quot; or &quot;:endif&quot; doesn't give an error message.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Johannes Zellner)<br>
Solution:&nbsp;&nbsp; Check for missing &quot;:endwhile&quot; and &quot;:endif&quot; in sourced files.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add missing &quot;:endif&quot; in file selection macros.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, runtime/macros/file_select.vim<br>
<br>
Patch 5.6a.005<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;was not listed alphabetically.&nbsp;&nbsp;The value of&nbsp;<a class="Type" href="options.html#'toolbar'">'toolbar'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;was changed when&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;is set.<br>
Solution:&nbsp;&nbsp; Moved entry of&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;in options[] table down.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't reset&nbsp;<a class="Type" href="options.html#'toolbar'">'toolbar'</a>&nbsp;option to the default value when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;is set.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.6a.006<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using a backwards range inside &quot;:if 0&quot; gave an error message.<br>
Solution:&nbsp;&nbsp; Don't complain about a range when it is not going to be used.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Stefan Roemer)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.6a.007<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:let&quot; didn't show internal Vim variables.&nbsp;&nbsp;(Ron Aaron)<br>
Solution:&nbsp;&nbsp; Do show &quot;:v&quot; variables for &quot;:let&quot; and &quot;:let v:name&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.6a.008<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Selecting a syntax from the Syntax menu gives an error message.<br>
Solution:&nbsp;&nbsp; Replace &quot;else if&quot; in SetSyn() with &quot;elseif&quot;.&nbsp;&nbsp;(Ronald Schild)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/menu.vim<br>
<br>
Patch 5.6a.009<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When compiling with +extra_search but without +syntax, there is a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compilation error in screen.c. (Axel Kielhorn)<br>
Solution:&nbsp;&nbsp; Adjust the #ifdef for declaring and initializing &quot;line&quot; in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win_line().&nbsp;&nbsp;Also solve compilation problem when +statusline is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used without +eval.&nbsp;&nbsp;Another one when +cmdline_compl is used<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;without +eval.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c, src/misc2.c<br>
<br>
Patch 5.6a.010<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;In a function, &quot;:startinsert!&quot; does not append to the end of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line if a &quot;:normal&quot; command was used to move the cursor. (Fisher)<br>
Solution:&nbsp;&nbsp; Reset &quot;w_set_curswant&quot; to avoid that w_curswant is changed again.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.6a.011 (depends on 5.6a.004)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;A missing &quot;:endif&quot; or &quot;:endwhile&quot; in a function doesn't give an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error message.<br>
Solution:&nbsp;&nbsp; Give that error message.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.6a.012 (depends on 5.6a.008)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Some Syntax menu entries caused a hit-enter prompt.<br>
Solution:&nbsp;&nbsp; Call a function to make the command shorter.&nbsp;&nbsp;Also rename a few<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;functions to avoid name clashes.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/menu.vim<br>
<br>
Patch 5.6a.013<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Command line completion works different when another completion<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;was done earlier. (Johannes Zellner)<br>
Solution:&nbsp;&nbsp; Reset wim_index when starting a new completion.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c<br>
<br>
Patch 5.6a.014<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Various warning messages when compiling and running lint with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;different combinations of features.<br>
Solution:&nbsp;&nbsp; Fix the warning messages.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, src/ex_cmds.c, src/ex_docmd.c, src/gui_gtk_x11.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c, src/screen.c, src/search.c, src/syntax.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/feature.h, src/globals.h<br>
<br>
Patch 5.6a.015<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The vimtutor command doesn't always know the value of $VIMRUNTIME.<br>
Solution:&nbsp;&nbsp; Let Vim expand $VIMRUNTIME, instead of the shell.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/vimtutor<br>
<br>
Patch 5.6a.016 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Mac: Window size is restricted when starting.&nbsp;&nbsp;Cannot drag the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window all over the desktop.<br>
Solution:&nbsp;&nbsp; Get real screen size instead of assuming 640x400.&nbsp;&nbsp;Do not use a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fixed number for the drag limits. (Axel Kielhorn)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_mac.c<br>
<br>
Patch 5.6a.017<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The &quot;Paste&quot; entry in popup menu for Visual, Insert and Cmdline<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode is in the wrong position. (Stol)<br>
Solution:&nbsp;&nbsp; Add priority numbers for all Paste menu entries.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/menu.vim<br>
<br>
Patch 5.6a.018<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: submenu priority doesn't work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Help dialog could be destroyed too soon.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When closing a dialog window (e.g. the &quot;ATTENTION&quot; one), Vim would<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;just hang.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When GTK theme is changed, Vim doesn't adjust to the new colors.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Argument for &quot;:promptfind&quot; isn't used.<br>
Solution:&nbsp;&nbsp; Fixed the mentioned problems.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Made the dialogs look&amp;feel nicer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Moved functions to avoid the need for a forward declaration.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fixed reentrancy of the file browser dialog.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added drag&amp;drop support for GNOME.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Init the text for the Find/replace dialog from the last used<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;search string.&nbsp;&nbsp;Set &quot;match whole word&quot; toggle button correctly.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Made repeat rate for drag outside of window depend on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;distance from the window.&nbsp;&nbsp;(Marcin Dalecki)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Made the drag in Visual mode actually work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removed recursiveness protection from gui_mch_get_rgb(), it might<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cause more trouble than it solves.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c, src/gui_gtk.c, src/gui_gtk_x11.c, src/ui.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/ui.pro, src/misc2.c<br>
<br>
Patch 5.6a.019<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When trying to recover through NFS, which uses a large block size,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vim might think the swap file is empty, because mf_blocknr_max is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zero.&nbsp;&nbsp;(Scott McDermott)<br>
Solution:&nbsp;&nbsp; When computing the number of blocks of the file in mf_open(),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;round up instead of down.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/memfile.c<br>
<br>
Patch 5.6a.020<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI GTK: Could not set display for gvim.<br>
Solution:&nbsp;&nbsp; Add &quot;-display&quot; and &quot;--display&quot; arguments. (Marcin Dalecki)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.6a.021<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Recovering still may not work when the block size of the device<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where the swap file is located is larger than 4096.<br>
Solution:&nbsp;&nbsp; Read block 0 with the minimal block size.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/memline.c, src/memfile.c, src/vim.h<br>
<br>
Patch 5.6a.022 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When an error in the vimrc causes a dialog to pop up<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(e.g., for an existing swap file), Vim crashes. (David Elins)<br>
Solution:&nbsp;&nbsp; Before showing a dialog, open the main window.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.6a.023<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using expand(&quot;%:gs??/?&quot;) causes a crash. (Ron Aaron)<br>
Solution:&nbsp;&nbsp; Check for running into the end of the string in do_string_sub().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.6a.024<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using an autocommand to delete a buffer when leaving it can cause<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a crash when jumping to a tag. (Franz Gorkotte)<br>
Solution:&nbsp;&nbsp; In do_tag(), store tagstacklen before jumping to another buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check tagstackidx after jumping to another buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add extra check in win_split() if tagname isn't NULL.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/tag.c, src/window.c<br>
<br>
Patch 5.6a.025 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: The tables for toupper() and tolower() are initialized<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;too late. (Mike Steed)<br>
Solution:&nbsp;&nbsp; Move the initialization to win32_init() and call it from main().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c, src/os_w32.c, src/proto/os_w32.pro<br>
<br>
Patch 5.6a.026<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When the SNiFF connection is open, shell commands hang. (Pruemmer)<br>
Solution:&nbsp;&nbsp; Skip a second wait() call if waitpid() already detected that the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;child has exited.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.6a.027 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: The &quot;Edit with Vim&quot; popup menu entry causes problems<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for the Office toolbar.<br>
Solution:&nbsp;&nbsp; Use a shell extension dll. (Tianmiao Hu)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added it to the install and uninstal programs, replaces the old<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Edit with Vim&quot; menu registry entries.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt<br>
<br>
Patch 5.6a.028 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: Dialogs and tear-off menus can't handle multi-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characters.<br>
Solution:&nbsp;&nbsp; Adjust nCopyAnsiToWideChar() to handle multi-byte characters<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;correctly.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.7" name="version-5.7">version-5.7</a><br>
<br>
Version 5.7 is a bug-fix version of 5.6.<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.7" name="changed-5.7">changed-5.7</a><br>
<span class="PreProc">-------</span><br>
<br>
Renamed src/INSTALL.mac to INSTALL_mac.txt to avoid it being recognized with a<br>
wrong file type.&nbsp;&nbsp;Also renamed src/INSTALL.amiga to INSTALL_ami.txt.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.7" name="added-5.7">added-5.7</a><br>
<span class="PreProc">-----</span><br>
<br>
New syntax files:<br>
stp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Stored Procedures (Jeff Lanzarotta)<br>
snnsnet, snnspat, snnsres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SNNS (Davide Alberani)<br>
mel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MEL (Robert Minsk)<br>
ruby&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ruby (Mirko Nasato)<br>
tli&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TealInfo (Kurt W. Andrews)<br>
ora&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oracle config file (Sandor Kopanyi)<br>
abaqus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Abaqus (Carl Osterwisch)<br>
jproperties&nbsp;&nbsp;&nbsp;&nbsp; Java Properties (Simon Baldwin)<br>
apache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Apache config (Allan Kelly)<br>
csp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CSP (Jan Bredereke)<br>
samba&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Samba config (Rafael Garcia-Suarez)<br>
kscript&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KDE script (Thomas Capricelli)<br>
hb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hyper Builder (Alejandro Forero Cuervo)<br>
fortran&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fortran (rewritten) (Ajit J. Thakkar)<br>
sml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SML (Fabrizio Zeno Cornelli)<br>
cvs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CVS commit (Matt Dunford)<br>
aspperl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ASP Perl (Aaron Hope)<br>
bc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BC calculator (Vladimir Scholtz)<br>
latte&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Latte (Nick Moffitt)<br>
wml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WML (Gerfried Fuchs)<br>
<br>
Included Exuberant ctags 3.5.1. (Darren Hiebert)<br>
<br>
&quot;display&quot; and &quot;fold&quot; arguments for syntax items.&nbsp;&nbsp;For future extension, they<br>
are ignored now.<br>
<br>
strftime() function for the Macintosh.<br>
<br>
macros/explorer.vim: A file browser script (M A Aziz Ahmed)<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.7" name="fixed-5.7">fixed-5.7</a><br>
<span class="PreProc">-----</span><br>
<br>
The 16 bit MS-DOS version is now compiled with Bcc 3.1 instead of 4.0.&nbsp;&nbsp;The<br>
executable is smaller.<br>
<br>
When a &quot;make test&quot; failed, the output file was lost.&nbsp;&nbsp;Rename it to<br>
test99.failed to be able to see what went wrong.<br>
<br>
After sourcing bugreport.vim, it's not clear that bugreport.txt has been<br>
written in the current directory.&nbsp;&nbsp;Edit bugreport.txt to avoid that.<br>
<br>
Adding IME support when using Makefile.w32 didn't work. (Taro Muraoka)<br>
<br>
Win32 console: Mouse drags were passed on even when the mouse didn't move.<br>
<br>
Perl interface: In Buffers(), type of argument to SvPV() was int, should be<br>
STRLEN. (Tony Leneis)<br>
<br>
Problem with prototype for index() on AIX 4.3.0.&nbsp;&nbsp;Added check for _AIX43 in<br>
os_unix.h. (Jake Hamby)<br>
<br>
Mappings in mswin.vim could break when some commands are mapped.&nbsp;&nbsp;Add &quot;nore&quot;<br>
to most mappings to avoid re-mapping.<br>
<br>
modify_fname() made a copy of a file name for &quot;:p&quot; when it already was a full<br>
path name, which is a bit slow.<br>
<br>
Win32 with Borland C++ 5.5: Pass the path to the compiler on to xxd and ctags,<br>
to avoid depending on $PATH.&nbsp;&nbsp;Fixed &quot;make clean&quot;.<br>
<br>
Many fixes to Macintosh specific parts: (mostly by Dany StAmant)<br>
- Only one Help menu.<br>
- No more crash when removing a menu item.<br>
- Support as External Editor for Codewarrior (still some little glitches).<br>
- Popup menu support.<br>
- Fixed crash when pasting after application switch.<br>
- Color from rgb.txt properly displayed.<br>
-&nbsp;<a class="Type" href="options.html#'isprint'">'isprint'</a>&nbsp;default includes all chars above '~'. (Axel Kielhorn)<br>
- mac_expandpath() was leaking memory.<br>
- Add digraphs table. (Axel Kielhorn)<br>
- Multi-byte support: (Kenichi Asai)<br>
&nbsp;&nbsp;Switch keyscript when going in/out of Insert mode.<br>
&nbsp;&nbsp;Draw multi-byte character correctly.<br>
&nbsp;&nbsp;Don't use mblen() but highest bit of char to detect multi-byte char.<br>
&nbsp;&nbsp;Display value of multi-byte in statusline (also for other systems).<br>
- mouse button was not initialized properly to MOUSE_LEFT when<br>
&nbsp;&nbsp;USE_CTRLCLICKMENU not defined.<br>
- With Japanese SJIS characters: Make &quot;w&quot;, &quot;b&quot;, and &quot;e&quot; work<br>
&nbsp;&nbsp;properly.&nbsp;&nbsp;(Kenichi Asai)<br>
- Replaced old CodeWarrior file os_mac.CW9.hqx with os_mac.cw5.sit.hqx.<br>
<br>
Fixes for VMS: (Zoltan Arpadffy) (also see patch 5.6.045 below)<br>
- Added Makefile_vms.mms and vimrc.vms to src/testdir to be able to run the<br>
&nbsp;&nbsp;tests.<br>
- Various fixes.<br>
- Set&nbsp;<a class="Type" href="options.html#'undolevels'">'undolevels'</a>&nbsp;to 1000 by default.<br>
- Made mch_settitle() equivalent to the one in os_unix.c.<br>
<br>
RiscOS: A few prototypes for os_riscos.c were outdated.&nbsp;&nbsp;Generate prototypes<br>
automatically.<br>
<br>
<br>
Previously released patches:<br>
<br>
Patch 5.6.001<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;set bs=0 si cin&quot;, Inserting &quot;#<span class="Special">&lt;BS&gt;</span>&quot; or &quot;}<span class="Special">&lt;BS&gt;</span>&quot; which<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reduces the indent doesn't delete the &quot;#&quot; or &quot;}&quot;. (Lorton)<br>
Solution:&nbsp;&nbsp; Adjust ai_col in ins_try_si().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.6.002<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using the vim.vim syntax file, a comment with all uppercase<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characters causes a hang.<br>
Solution:&nbsp;&nbsp; Adjust pattern for vimCommentTitle (Charles Campbell)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/syntax/vim.vim<br>
<br>
Patch 5.6.003<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Loading a user defined toolbar bitmap gives a warning<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;about the colormap.&nbsp;&nbsp;Probably because the window has not been<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opened yet.<br>
Solution:&nbsp;&nbsp; Use gdk_pixmap_colormap_create_from_xpm() to convert the xpm file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Keith Radebaugh)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk.c<br>
<br>
Patch 5.6.004 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI with IME: When setting&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;to &quot;*&quot;, the font<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;requester appears twice.<br>
Solution:&nbsp;&nbsp; In gui_mch_init_font() don't call get_logfont() but copy<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;norm_logfont from fh. (Yasuhiro Matsumoto)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.6.005<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'winminheight'">'winminheight'</a>&nbsp;is zero,&nbsp;<span class="Special">CTRL-W</span>&nbsp;- with a big number causes a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crash.&nbsp;&nbsp;(David Kotchan)<br>
Solution:&nbsp;&nbsp; Check for negative window height in win_setheight().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/window.c<br>
<br>
Patch 5.6.006<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Bold font cannot always be used.&nbsp;&nbsp;Memory is freed too<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;early in gui_mch_init_font().<br>
Solution:&nbsp;&nbsp; Move call to g_free() to after where sdup is used. (Artem Hodyush)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.6.007 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 IME: Font is not changed when screen font is changed. And<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IME composition window does not trace the cursor.<br>
Solution:&nbsp;&nbsp; Initialize IME font.&nbsp;&nbsp;When cursor is moved, set IME composition<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window with ImeSetCompositionWindow().&nbsp;&nbsp;Add call to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImmReleaseContext() in several places. (Taro Muraoka)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c, src/gui_w32.c, src/proto/gui_w32.pro<br>
<br>
Patch 5.6.008 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: When two files exist with the same name but different case<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(through NFS or Samba), fixing the file name case could cause the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong one to be edited.<br>
Solution:&nbsp;&nbsp; Prefer a perfect match above a match while ignoring case in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fname_case().&nbsp;&nbsp;(Flemming Madsen)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
Patch 5.6.009 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: Garbage in Windows Explorer help line when selecting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Edit with Vim&quot; popup menu entry.<br>
Solution:&nbsp;&nbsp; Only return the help line when called with the GCS_HELPTEXT flag.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Tianmiao Hu)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GvimExt/gvimext.cpp<br>
<br>
Patch 5.6.010<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;A file name which contains a TAB was not read correctly from the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viminfo file and the &quot;:ls&quot; listing was not aligned properly.<br>
Solution:&nbsp;&nbsp; Parse the buffer list lines in the viminfo file from the end<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backwards.&nbsp;&nbsp;Count a Tab for two characters to align the &quot;:ls&quot; list.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c<br>
<br>
Patch 5.6.011<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;is huge (using a tiny font) and&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used, Vim can crash.<br>
Solution:&nbsp;&nbsp; Limit maxlen to MAXPATHL in win_redr_custom(). (John Mullin)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.6.012<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;zsh&quot; for /bin/sh, toolcheck may hang until &quot;exit&quot; is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typed. (Kuratczyk)<br>
Solution:&nbsp;&nbsp; Add &quot;-c exit&quot; when checking for the shell version.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/toolcheck<br>
<br>
Patch 5.6.013<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multibyte char in tooltip is broken.<br>
Solution:&nbsp;&nbsp; Consider multibyte char in replace_termcodes(). (Taro Muraoka)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.c<br>
<br>
Patch 5.6.014<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When cursor is at the end of line and the character under cursor<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is a multibyte character, &quot;yl&quot; doesn't yank 1 multibyte-char.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Takuhiro Nishioka)<br>
Solution:&nbsp;&nbsp; Recognize a multibyte-char at end-of-line correctly in oneright().<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Taro Muraoka)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: make &quot;+quickfix&quot; in &quot;:version&quot; output appear alphabetically.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.6.015<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;New xterm delete key sends&nbsp;<span class="Special">&lt;Esc&gt;</span>[3~ by default.<br>
Solution:&nbsp;&nbsp; Added&nbsp;<span class="Special">&lt;kDel&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;kIns&gt;</span>&nbsp;to make the set of keypad keys complete.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/ex_getln.c, src/keymap.h, src/misc1.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc2.c, src/normal.c, src/os_unix.c, src/term.c<br>
<br>
Patch 5.6.016<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When deleting a search string from history from inside a mapping,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;another entry is deleted too. (Benji Fisher)<br>
Solution:&nbsp;&nbsp; Reset last_maptick when deleting the last entry of the search<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;history.&nbsp;&nbsp;Also: Increment maptick when starting a mapping from<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typed characters to avoid a just added search string being<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overwritten or removed from history.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c, src/getchar.c<br>
<br>
Patch 5.6.017<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:s/e/\^M/&quot; should replace an &quot;e&quot; with a&nbsp;<span class="Special">CTRL-M</span>, not split the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line. (Calder)<br>
Solution:&nbsp;&nbsp; Replace the backslash with a&nbsp;<span class="Special">CTRL-V</span>&nbsp;internally. (Stephen P. Wall)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.6.018<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:help [:digit:]&quot; takes a long time to jump to the wrong place.<br>
Solution:&nbsp;&nbsp; Insert a backslash to avoid the special meaning of '[]'.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.6.019<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;snd.c&quot;, &quot;snd.java&quot;, etc. were recognized as &quot;mail&quot; filetype.<br>
Solution:&nbsp;&nbsp; Make pattern for mail filetype more strict.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/filetype.vim<br>
<br>
Patch 5.6.020 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The DJGPP version eats processor time (Walter Briscoe).<br>
Solution:&nbsp;&nbsp; Call __dpmi_yield() in the busy-wait loop.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_msdos.c<br>
<br>
Patch 5.6.021<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;is &quot;exclusive&quot;, a double mouse click in Insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode doesn't select last char in line. (Lutz)<br>
Solution:&nbsp;&nbsp; Allow leaving the cursor on the NUL past the line in this case.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.6.022<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:e \~<span class="Special">&lt;Tab&gt;</span>&quot; expands to &quot;:e ~\$ceelen&quot;, which doesn't work.<br>
Solution:&nbsp;&nbsp; Re-insert the backslash before the '~'.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c<br>
<br>
Patch 5.6.023 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Various warnings for the Ming compiler.<br>
Solution:&nbsp;&nbsp; Changes to avoid the warnings. (Bill McCarthy)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c, src/gui_w32.c, src/os_w32exe.c, src/os_win32.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c, src/vim.rc<br>
<br>
Patch 5.6.024 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 console: Entering&nbsp;<span class="Special">CTRL-_</span>&nbsp;requires the shift key. (Kotchan)<br>
Solution:&nbsp;&nbsp; Specifically catch keycode 0xBD, like the GUI.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
Patch 5.6.025<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Starting the GUI could be interrupted by a SIGWINCH.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Nils Lohner)<br>
Solution:&nbsp;&nbsp; Repeat the read() call to get the gui_in_use value when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;interrupted by a signal.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c<br>
<br>
Patch 5.6.026 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: Toolbar bitmaps are searched for in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$VIMRUNTIME/bitmaps, while GTK looks in $VIM/bitmaps. (Keith<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Radebaugh)<br>
Solution:&nbsp;&nbsp; Use $VIM/bitmaps for both, because these are not part of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;distribution but defined by the user.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c, runtime/doc/gui.txt<br>
<br>
Patch 5.6.027<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;TCL: Crash when using a Tcl script (reported for Win32).<br>
Solution:&nbsp;&nbsp; Call Tcl_FindExecutable() in main(). (Brent Fulgham)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c<br>
<br>
Patch 5.6.028<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Xterm patch level 126 sends codes for mouse scroll wheel.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fully works with xterm patch level 131.<br>
Solution:&nbsp;&nbsp; Recognize the codes for button 4 (0x60) and button 5 (0x61).<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.c<br>
<br>
Patch 5.6.029<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Shortcut keys cannot be used for a dialog. (Johannes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zellner)<br>
Solution:&nbsp;&nbsp; Add support for shortcut keys. (Marcin Dalecki)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk.c<br>
<br>
Patch 5.6.030<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When closing a window and&nbsp;<a class="Type" href="options.html#'ea'">'ea'</a>&nbsp;is set, Vim can crash. (Yasuhiro<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Matsumoto)<br>
Solution:&nbsp;&nbsp; Set &quot;curbuf&quot; to a valid value in win_close().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/window.c<br>
<br>
Patch 5.6.031<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: When a double-byte character ends in CSI, Vim waits<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for another character to be typed.<br>
Solution:&nbsp;&nbsp; Recognize the CSI as the second byte of a character and don't wait<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for another one. (Yasuhiro Matsumoto)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/getchar.c<br>
<br>
Patch 5.6.032<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Functions with an argument that is a line number don't all accept<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;.&quot;, &quot;$&quot;, etc. (Ralf Arens)<br>
Solution:&nbsp;&nbsp; Add get_art_lnum() and use it for setline(), line2byte() and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;synID().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.6.033<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: &quot;f &quot; sometimes skips to the second space.&nbsp;&nbsp;(Sung-Hyun<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Nam)<br>
Solution:&nbsp;&nbsp; Change logic in searchc() to skip trailing byte of a double-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: Ask for second byte when searching for double-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character. (Park Chong-Dae)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/search.c<br>
<br>
Patch 5.6.034 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compiling with Borland C++ 5.5 fails on tolower() and toupper().<br>
Solution:&nbsp;&nbsp; Use TO_LOWER() and TO_UPPER() instead.&nbsp;&nbsp;Also adjust the Makefile<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to make using bcc 5.5 easier.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/ex_docmd.c, src/misc1.c, src/Makefile.bor<br>
<br>
Patch 5.6.035<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Listing the&quot;+comments&quot; feature in the &quot;:version&quot; output depended<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on the wrong ID. (Stephen P. Wall)<br>
Solution:&nbsp;&nbsp; Change &quot;CRYPTV&quot; to &quot;COMMENTS&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/version.c<br>
<br>
Patch 5.6.036<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Copy/paste text doesn't work between gvim and Eterm.<br>
Solution:&nbsp;&nbsp; Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.6.037<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: Can't use &quot;f&quot; command with multi-byte character in GUI.<br>
Solution:&nbsp;&nbsp; Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c, src/multbyte.c<br>
<br>
Patch 5.6.038<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-clicks in GUI are interpreted as a mouse wheel click.&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'ttymouse'">'ttymouse'</a>&nbsp;is &quot;xterm&quot; a mouse click is interpreted as a mouse<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wheel click.<br>
Solution:&nbsp;&nbsp; Don't recognize the mouse wheel in check_termcode() in the GUI.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use 0x43 for a mouse drag in do_xterm_trace(), not 0x63.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.c, src/os_unix.c<br>
<br>
Patch 5.6.039<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif GUI under KDE: When trying to logout, Vim hangs up the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system. (Hermann Rochholz)<br>
Solution:&nbsp;&nbsp; When handling the WM_SAVE_YOURSELF event, set the WM_COMMAND<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;property of the window to let the session manager know we finished<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saving ourselves.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_x11.c<br>
<br>
Patch 5.6.040<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:s&quot; command, matching the regexp is done twice.<br>
Solution:&nbsp;&nbsp; After copying the matched line, adjust the pointers instead of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finding the match again. (Loic Grenie)&nbsp;&nbsp;Added vim_regnewptr().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro<br>
<br>
Patch 5.6.041<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI: Athena, Motif and GTK don't give more than 10 dialog buttons.<br>
Solution:&nbsp;&nbsp; Remove the limit on the number of buttons.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also support the 'v' flag in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For GTK: Center the buttons.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c<br>
<br>
Patch 5.6.042<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When doing &quot;vim -u vimrc&quot; and vimrc contains &quot;:q&quot;, the cursor in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the terminal can remain off.<br>
Solution:&nbsp;&nbsp; Call cursor_on() in mch_windexit().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c<br>
<br>
Patch 5.6.043 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When selecting guifont with the dialog,&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doesn't include the bold or italic attributes.<br>
Solution:&nbsp;&nbsp; Append &quot;:i&quot; and/or &quot;:b&quot; to&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;in gui_mch_init_font().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.6.044 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;MS-DOS and Windows: The line that dosinst.exe appends to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;autoexec.bat to set PATH is wrong when Vim is in a directory with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;an embedded space.<br>
Solution:&nbsp;&nbsp; Use double quotes for the value when there is an embedded space.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/dosinst.c<br>
<br>
Patch 5.6.045 (extra) (fixed version)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;VMS: Various small problems.<br>
Solution:&nbsp;&nbsp; Many small changes. (Zoltan Arpadffy)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File name modifier &quot;:h&quot; keeps the path separator.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File name modifier &quot;:e&quot; also removes version.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compile with MAX_FEAT by default.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When checking for autocommands ignore version in file name.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Be aware of file names being case insensitive.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added vt320 builtin termcap.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Be prepared for an empty default_vim_dir.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/gvimrc_example.vim, runtime/vimrc_example.vim,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/os_vms.txt, src/eval.c, src/feature.h, src/fileio.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_motif.c, src/gui_vms_conf.h, src/main.c, src/memline.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c, src/option.c, src/os_vms_conf.h, src/os_vms.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_vms.h, src/os_vms.mms, src/tag.c, src/term.c, src/version.c<br>
<br>
Patch 5.6.046<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Systems with backslash in file name: With&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;set, &quot;vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/*.c&quot; only uses a slash for the first file name.&nbsp;&nbsp;(Har'El)<br>
Solution:&nbsp;&nbsp; Fix slashes in file name arguments after reading the vimrc file.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/option.c<br>
<br>
Patch 5.6.047<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;$CPPFLAGS is not passed on to ctags configure.<br>
Solution:&nbsp;&nbsp; Add it. (Walter Briscoe)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/config.mk.in, src/Makefile<br>
<br>
Patch 5.6.048<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-R</span>&nbsp;in Command-line mode is documented to insert text as typed,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but inserts text literally.<br>
Solution:&nbsp;&nbsp; Make&nbsp;<span class="Special">CTRL-R</span>&nbsp;insert text as typed, use&nbsp;<span class="Special">CTRL-R</span>&nbsp;<span class="Special">CTRL-R</span>&nbsp;to insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;literally.&nbsp;&nbsp;This is consistent with Insert mode.&nbsp;&nbsp;But characters<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that end Command-line mode are inserted literally.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/index.txt, runtime/doc/cmdline.txt, src/ex_getln.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c, src/proto/ops.pro<br>
<br>
Patch 5.6.049<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Documentation for [!] after &quot;:ijump&quot; is wrong way around. (Benji<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fisher)<br>
Solution:&nbsp;&nbsp; Fix the documentation.&nbsp;&nbsp;Also improve the code to check for a match<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;after a /* */ comment.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/tagsearch.txt, src/search.c<br>
<br>
Patch 5.6.050<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Replacing is wrong when replacing a single-byte char with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double-byte char or the other way around.<br>
Solution:&nbsp;&nbsp; Shift the text after the character when it is replaced.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Yasuhiro Matsumoto)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c, src/misc1.c<br>
<br>
Patch 5.6.051<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:tprev&quot; and &quot;:tnext&quot; don't give an error message when trying to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;go before the first or beyond the last tag. (Robert Webb)<br>
Solution:&nbsp;&nbsp; Added error messages.&nbsp;&nbsp;Also: Delay a second when a file-read<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message is going to overwrite an error message, otherwise it won't<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be seen.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c, src/tag.c<br>
<br>
Patch 5.6.052<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: When an Ex command has a '|' or '&quot;' as a second byte,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it terminates the command.<br>
Solution:&nbsp;&nbsp; Skip second byte of multi-byte char when checking for '|' and '&quot;'.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Asai Kenichi)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.6.053<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-]</span>&nbsp;doesn't work on a tag that contains a '|'. (Cesar Crusius)<br>
Solution:&nbsp;&nbsp; Escape '|', '&quot;' and '\' in tag names when using&nbsp;<span class="Special">CTRL-]</span>&nbsp;and also<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for command-line completion.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c, src/normal.c<br>
<br>
Patch 5.6.054<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;:e&quot; and &quot;:e #&quot; the cursor is put in the first column<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;<a class="Type" href="options.html#'startofline'">'startofline'</a>&nbsp;is set. (Cordell)<br>
Solution:&nbsp;&nbsp; Use the last known column when&nbsp;<a class="Type" href="options.html#'startofline'">'startofline'</a>&nbsp;is set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also, use ECMD_LAST more often to simplify the code.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c, src/ex_cmds.c, src/ex_docmd.c, src/proto/buffer.pro<br>
<br>
Patch 5.6.055<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;only contains a text without &quot;%&quot; and doesn't fit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in the window, Vim crashes. (Ron Aaron)<br>
Solution:&nbsp;&nbsp; Don't use the pointer for the first item if there is no item.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.6.056 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;MS-DOS: F11 and F12 don't work when&nbsp;<a class="Type" href="options.html#'bioskey'">'bioskey'</a>&nbsp;is set.<br>
Solution:&nbsp;&nbsp; Use enhanced keyboard functions. (Vince Negri)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Detect presence of enhanced keyboard and set bioskey_read and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bioskey_ready.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_msdos.c<br>
<br>
Patch 5.6.057 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: Multi-byte characters are wrong in dialogs and tear-off<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menus.<br>
Solution:&nbsp;&nbsp; Use system font instead of a fixed font. (Matsumoto, Muraoka)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.6.058<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When the 'a' flag is not in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>, non-Windows systems<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy Visually selected text to the clipboard/selection on a yank<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or delete command anyway.&nbsp;&nbsp;On Windows it isn't done even when the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'a' flag is included.<br>
Solution:&nbsp;&nbsp; Respect the 'a' flag in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;on all systems.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.6.059 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When moving the cursor over italic text and the characters spill<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;over to the cell on the right, that spill-over is deleted.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Noticed in the Win32 GUI, can happen on other systems too.<br>
Solution:&nbsp;&nbsp; Redraw italic text starting from a blank, like this is already<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;done for bold text. (Vince Negri)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c, src/gui.h, src/gui_w32.c<br>
<br>
Patch 5.6.060<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Some bold characters spill over to the cell on the left, that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spill-over can remain sometimes.<br>
Solution:&nbsp;&nbsp; Redraw a character when the next character was bold and needs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redrawing. (Robert Webb)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.6.061<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When xterm sends 8-bit controls, recognizing the version response<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doesn't work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When using CSI instead of&nbsp;<span class="Special">&lt;Esc&gt;</span>[ for the termcap color codes,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using 16 colors doesn't work. (Neil Bird)<br>
Solution:&nbsp;&nbsp; Also accept CSI in place of&nbsp;<span class="Special">&lt;Esc&gt;</span>[ for the version string.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also check for CSI when handling colors 8-15 in term_color().<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use CSI for builtin xterm termcap entries when&nbsp;<a class="Type" href="options.html#'term'">'term'</a>&nbsp;contains<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;8bit&quot;.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/term.txt, src/ex_cmds.c, src/option.c, src/term.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_unix.c, src/proto/option.pro, src/proto/term.pro<br>
<br>
Patch 5.6.062<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;The documentation says that setting&nbsp;<a class="Type" href="options.html#'smartindent'">'smartindent'</a>&nbsp;doesn't have an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;effect when&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;is set, but it does make a difference for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines starting with &quot;#&quot;. (Neil Bird)<br>
Solution:&nbsp;&nbsp; Really ignore&nbsp;<a class="Type" href="options.html#'smartindent'">'smartindent'</a>&nbsp;when&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;is set.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c, src/ops.c<br>
<br>
Patch 5.6.063<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Using &quot;I&quot; in Visual-block mode doesn't accept a count. (Johannes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zellner)<br>
Solution:&nbsp;&nbsp; Pass the count on to do_insert() and edit(). (Allan Kelly)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c, src/ops.c, src/proto/ops.pro<br>
<br>
Patch 5.6.064<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;MS-DOS and Win32 console: Mouse doesn't work correctly after<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;including patch 5.6.28. (Vince Negri)<br>
Solution:&nbsp;&nbsp; Don't check for mouse scroll wheel when the mouse code contains<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the number of clicks.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.c<br>
<br>
Patch 5.6.065<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;After moving the cursor around in Insert mode, typing a space can<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;still trigger an abbreviation. (Benji Fisher)<br>
Solution:&nbsp;&nbsp; Don't check for an abbreviation after moving around in Insert mode.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c<br>
<br>
Patch 5.6.066<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Still a few bold character spill-over remains after patch 60.<br>
Solution:&nbsp;&nbsp; Clear character just in front of blanking out rest of the line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Robert Webb)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.6.067<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When a file name contains a NL, the viminfo file is corrupted.<br>
Solution:&nbsp;&nbsp; Use viminfo_writestring() to convert the NL to&nbsp;<span class="Special">CTRL-V</span>&nbsp;n.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also fix the Buffers menu and listing a menu name with a newline.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/menu.vim, src/buffer.c, src/mark.c, src/menu.c<br>
<br>
Patch 5.6.068<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compiling the Perl interface doesn't work with Perl 5.6.0.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Bernhard Rosenkraenzer)<br>
Solution:&nbsp;&nbsp; Also check xs_apiversion for the version number when prepending<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defines for PL_*.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/Makefile<br>
<br>
Patch 5.6.069<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;go&quot; doesn't always end up at the right character when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;is &quot;dos&quot;. (Bruce DeVisser)<br>
Solution:&nbsp;&nbsp; Correct computations in ml_find_line_or_offset().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/memline.<br>
<br>
Patch 5.6.070 (depends on 5.6.068)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compiling the Perl interface doesn't work with Perl 5.6.0.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Bernhard Rosenkraenzer)<br>
Solution:&nbsp;&nbsp; Simpler check instead of the one from patch 68.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/Makefile<br>
<br>
Patch 5.6.071<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;A&quot; in Visual block mode on a Tab positions the cursor one char to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the right. (Michael Haumann)<br>
Solution:&nbsp;&nbsp; Correct the column computation in op_insert().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.6.072<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When starting Vim with &quot;vim +startinsert&quot;, it enters Insert mode<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only after typing the first command. (Andrew Pimlott)<br>
Solution:&nbsp;&nbsp; Insert a dummy command in the stuff buffer.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c<br>
<br>
Patch 5.6.073 (extra) (depends on 5.6.034)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: When compiled with Bcc 5.5 menus don't work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In dosinst.c toupper() and tolower() give an &quot;internal compiler<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error&quot; for Bcc 5.5.<br>
Solution:&nbsp;&nbsp; Define WINVER to 4 to avoid compiling for Windows 2000. (Dan<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sharp)&nbsp;&nbsp;Also cleaned up compilation arguments.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Use our own implementation of toupper() in dosinst.c.&nbsp;&nbsp;Use<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mytoupper() instead of tolower().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/Makefile.bor, src/dosinst.c<br>
<br>
Patch 5.6.074 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Entering CSI directly doesn't always work, because it's recognized<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;as the start of a special key.&nbsp;&nbsp;Mostly a problem with multi-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in the GUI.<br>
Solution:&nbsp;&nbsp; Use K_CSI for a typed CSI character.&nbsp;&nbsp;Use&nbsp;<span class="Special">&lt;CSI&gt;</span>&nbsp;for a normal CSI,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;xCSI&gt;</span>&nbsp;for a CSI typed in the GUI.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/intro.txt, src/getchar.c, src/gui_amiga.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c, src/gui_mac.c, src/gui_riscos.c, src/gui_w32.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/keymap.h, src/misc2.c<br>
<br>
Patch 5.6.075<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;I&quot; or &quot;A&quot; in Visual block mode while&nbsp;<a class="Type" href="options.html#'sts'">'sts'</a>&nbsp;is set may<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;change spaces to a Tab the inserted text is not correct. (Mike<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Steed)&nbsp;&nbsp;And some other problems when using &quot;A&quot; to append after the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end of the line.<br>
Solution:&nbsp;&nbsp; Check for change in spaces/tabs after inserting the text.&nbsp;&nbsp;Append<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spaces to fill the gap between the end-of-line and the right edge<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of the block.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.6.076<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: Mapping&nbsp;<span class="Special">&lt;M-Space&gt;</span>&nbsp;doesn't work.<br>
Solution:&nbsp;&nbsp; Don't use the &quot;Alt&quot; modifier twice in key_press_event().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.6.077<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI: When interrupting an external program with&nbsp;<span class="Special">CTRL-C</span>, gvim might<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crash. (Benjamin Korvemaker)<br>
Solution:&nbsp;&nbsp; Avoid using a NULL pointer in ui_inchar_undo().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ui.c<br>
<br>
Patch 5.6.078<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Locale doesn't always work on FreeBSD. (David O'Brien)<br>
Solution:&nbsp;&nbsp; Link with the &quot;xpg4&quot; library when available.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/configure.in, src/configure<br>
<br>
Patch 5.6.079<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Vim could crash when several Tcl interpreters are created and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;destroyed.<br>
Solution:&nbsp;&nbsp; handle the &quot;exit&quot; command and nested &quot;:tcl&quot; commands better. (Ingo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wilken)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime/doc/if_tcl.txt, src/if_tcl.c<br>
<br>
Patch 5.6.080<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When jumping to a tag, generating the tags file and jumping to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;same tag again uses the old search pattern. (Sung-Hyun Nam)<br>
Solution:&nbsp;&nbsp; Flush cached tag matches when executing an external command.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc2.c, src/proto/tag.pro, src/tag.c<br>
<br>
Patch 5.6.081<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;:syn include&quot; uses a level for the included file, this confuses<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contained items included at the same level.<br>
Solution:&nbsp;&nbsp; Use a unique tag for each included file.&nbsp;&nbsp;Changed sp_syn_inc_lvl<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to sp_syn_inc_tag. (Scott Bigham)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c, src/structs.h<br>
<br>
Patch 5.6.082<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using cscope, Vim can crash.<br>
Solution:&nbsp;&nbsp; Initialize tag_fname in find_tags(). (Anton Blanchard)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/tag.c<br>
<br>
Patch 5.6.083 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: The visual beep can't be seen. (Eric Roesinger)<br>
Solution:&nbsp;&nbsp; Flush the output before waiting with GdiFlush(). (Maurice S. Barnum)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: Allow specifying the delay in t_vb for the GUI.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c, src/gui_amiga.c, src/gui_gtk_x11.c, src/gui_mac.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_riscos.c, src/gui_w32.c, src/gui_x11.c, src/gui_beos.cc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/gui_amiga.pro, src/proto/gui_gtk_x11.pro,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/gui_mac.pro, src/proto/gui_riscos.pro,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/gui_w32.pro, src/proto/gui_x11.pro,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/gui_beos.pro<br>
<br>
Patch 5.6.084 (depends on 5.6.074)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI: Entering CSI doesn't always work for Athena and Motif.<br>
Solution:&nbsp;&nbsp; Handle typed CSI as&nbsp;<span class="Special">&lt;xCSI&gt;</span>&nbsp;(forgot this bit in 5.6.074).<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_x11.c<br>
<br>
Patch 5.6.085<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: Using &quot;r&quot; to replace a double-byte char with a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single-byte char moved the cursor one character. (Matsumoto)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also, using a count when replacing a single-byte char with a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;double-byte char didn't work.<br>
Solution:&nbsp;&nbsp; Don't use del_char() to delete the second byte.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get &quot;ptr&quot; again after calling ins_char().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.6.086 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32: When using libcall() and the returned value is not a valid<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer, Vim crashes.<br>
Solution:&nbsp;&nbsp; Use IsBadStringPtr() to check if the pointer is valid.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_win32.c<br>
<br>
Patch 5.6.087<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: Commands and messages with multi-byte characters are<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;displayed wrong.<br>
Solution:&nbsp;&nbsp; Detect double-byte characters. (Yasuhiro Matsumoto)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c<br>
<br>
Patch 5.6.088<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte with Motif or Athena: The message &quot;XIM requires<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fontset&quot; is annoying when Vim was compiled with XIM support but it<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is not being used.<br>
Solution:&nbsp;&nbsp; Remove that message.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/multbyte.c<br>
<br>
Patch 5.6.089<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;On non-Unix systems it's possible to overwrite a read-only file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;without using &quot;!&quot;.<br>
Solution:&nbsp;&nbsp; Check if the file permissions allow overwriting before moving the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file to become the backup file.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.6.090<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When editing a file in &quot;/home/dir/home/dir&quot; this was replaced with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;~~&quot;.&nbsp;&nbsp;(Andreas Jellinghaus)<br>
Solution:&nbsp;&nbsp; Replace the home directory only once in home_replace().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c<br>
<br>
Patch 5.6.091<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When editing many &quot;no file&quot; files, can't create swap file, because<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.sw[a-p] have all been used.&nbsp;&nbsp;(Neil Bird)<br>
Solution:&nbsp;&nbsp; Also use &quot;.sv[a-z]&quot;, &quot;.su[a-z]&quot;, etc.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/memline.c<br>
<br>
Patch 5.6.092<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;FreeBSD: When setting $TERM to a non-valid terminal name, Vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hangs in tputs().<br>
Solution:&nbsp;&nbsp; After tgetent() returns an error code, call it again with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;terminal name &quot;dumb&quot;.&nbsp;&nbsp;This apparently creates an environment in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;which tputs() doesn't fail.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/term.c<br>
<br>
Patch 5.6.093 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI: &quot;ls | gvim -&quot; will show a message box about reading<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stdin when Vim exits. (Donohue)<br>
Solution:&nbsp;&nbsp; Don't write a message about the file read from stdin until the GUI<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has started.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.6.094<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Problem with multi-byte string for &quot;:echo var&quot;.<br>
Solution:&nbsp;&nbsp; Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also make do_echo() aware of multi-byte characters.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c, src/message.c<br>
<br>
Patch 5.6.095<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;With an Emacs TAGS file that include another a relative path<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doesn't always work.<br>
Solution:&nbsp;&nbsp; Use expand_tag_fname() on the name of the included file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Utz-Uwe Haus)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/tag.c<br>
<br>
Patch 5.6.096<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Unix: When editing many files, startup can be slow. (Paul<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ackersviller)<br>
Solution:&nbsp;&nbsp; Halve the number of stat() calls used to add a file to the buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c<br>
<br>
Patch 5.7a.001<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK doesn't respond on drag&amp;drop from ROX-Filer.<br>
Solution:&nbsp;&nbsp; Add &quot;text/uri-list&quot; target. (Thomas Leonard)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: fix problem with checking for trash arguments.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.7a.002<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte:&nbsp;<a class="Type" href="options.html#'showmatch'">'showmatch'</a>&nbsp;is performed when second byte of an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inserted double-byte char is a paren or brace.<br>
Solution:&nbsp;&nbsp; Check IsTrailByte() before calling showmatch(). (Taro Muraoka)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c<br>
<br>
Patch 5.7a.003<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multi-byte: After using&nbsp;<span class="Special">CTRL-O</span>&nbsp;in Insert mode with the cursor at<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the end of the line on a multi-byte character the cursor moves to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the left.<br>
Solution:&nbsp;&nbsp; Check for multi-byte character at end-of-line. (Taro Muraoka)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Also: fix cls() to detect a double-byte character. (Chong-Dae Park)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/search.c<br>
<br>
Patch 5.7a.004<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When reporting the search pattern offset, the string could be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unterminated, which may cause a crash.<br>
Solution:&nbsp;&nbsp; Terminate the string for the search offset. (Stephen P. Wall)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/search.c<br>
<br>
Patch 5.7a.005<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When &quot;:s//~/&quot; doesn't find a match it reports &quot;[NULL]&quot; for the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pattern.<br>
Solution:&nbsp;&nbsp; Use get_search_pat() to obtain the actually used pattern.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c, src/proto/search.pro, src/search.c<br>
<br>
Patch 5.7a.006 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;VMS: Various problems, also with the VAXC compiler.<br>
Solution:&nbsp;&nbsp; In many places use the Unix code for VMS too.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Added time, date and compiler version to version message.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Zoltan Arpadffy)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c, src/ex_docmd.c, src/globals.h, src/gui_vms_conf.h,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/main.c, src/message.c, src/misc1.c, src/os_vms.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_vms.h, src/os_vms.mms, src/os_vms_conf.h,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/os_vms.pro, src/proto/version.pro, src/term.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/version.c, src/xxd/os_vms.mms, src/xxd/xxd.c<br>
<br>
Patch 5.7a.007<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Motif and Athena GUI:&nbsp;<span class="Special">CTRL-@</span>&nbsp;is interpreted as&nbsp;<span class="Special">CTRL-C</span>.<br>
Solution:&nbsp;&nbsp; Only use &quot;intr_char&quot; when it has been set.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_x11.c<br>
<br>
Patch 5.7a.008<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK GUI: When using&nbsp;<span class="Special">CTRL-L</span>&nbsp;the screen is redrawn twice, causing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trouble for bold characters.&nbsp;&nbsp;Also happens when moving with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scrollbar.&nbsp;&nbsp;Best seen when&nbsp;<a class="Type" href="options.html#'writedelay'">'writedelay'</a>&nbsp;is non-zero.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When starting the GUI with &quot;:gui&quot; the screen is redrawn once with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the wrong colors.<br>
Solution:&nbsp;&nbsp; Only set the geometry hints when the window size really changed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This avoids setting it each time the scrollbar is forcefully<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redrawn.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Don't redraw in expose_event() when gui.starting is still set.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<span class="Statement">VERSION 5.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a class="Constant" href="version5.html#version-5.8" name="version-5.8">version-5.8</a><br>
<br>
Version 5.8 is a bug-fix version of 5.7.<br>
<br>
<br>
Changed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#changed-5.8" name="changed-5.8">changed-5.8</a><br>
<span class="PreProc">-------</span><br>
<br>
Ctags is no longer included with Vim.&nbsp;&nbsp;It has grown into a project of its own.<br>
You can find it here:&nbsp;&nbsp;<span class="Constant"><a href="http://ctags.sf.net">http://ctags.sf.net</a></span>.&nbsp;&nbsp;It is highly recommended as a Vim<br>
companion when you are writing programs.<br>
<br>
<br>
Added&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#added-5.8" name="added-5.8">added-5.8</a><br>
<span class="PreProc">-----</span><br>
<br>
New syntax files:<br>
acedb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AceDB (Stewart Morris)<br>
aflex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aflex (Mathieu Clabaut)<br>
antlr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Antlr (Mathieu Clabaut)<br>
asm68k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;68000 Assembly (Steve Wall)<br>
automake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Automake (John Williams)<br>
ayacc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ayacc (Mathieu Clabaut)<br>
b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B (Mathieu Clabaut)<br>
bindzone&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BIND zone (glory hump)<br>
blank&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blank (Rafal Sulejman)<br>
cfg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configure files (Igor Prischepoff)<br>
changelog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ChangeLog (Gediminas Paulauskas)<br>
cl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clever (Phil Uren)<br>
crontab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Crontab (John Hoelzel)<br>
csc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Essbase script (Raul Segura Acevedo)<br>
cynlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cynlib(C++) (Phil Derrick)<br>
cynpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cyn++ (Phil Derrick)<br>
debchangelog&nbsp;&nbsp;&nbsp;&nbsp;Debian Changelog (Wichert Akkerman)<br>
debcontrol&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debian Control (Wichert Akkerman)<br>
dns&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS zone file (Jehsom)<br>
dtml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zope's DTML (Jean Jordaan)<br>
dylan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dylan, Dylan-intr and Dylan-lid (Brent Fulgham)<br>
ecd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Embedix Component Description (John Beppu)<br>
fgl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Informix 4GL (Rafal Sulejman)<br>
foxpro&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FoxPro (Powing Tse)<br>
gsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GNU Server Pages (Nathaniel Harward)<br>
gtkrc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GTK rc (David Necas)<br>
hercules&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hercules (Avant! Corporation) (Dana Edwards)<br>
htmlos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTML/OS by Aestiva (Jason Rust)<br>
inittab&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SysV process control (David Necas)<br>
iss&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Inno Setup (Dominique Stephan)<br>
jam&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jam (Ralf Lemke)<br>
jess&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jess (Paul Baleme)<br>
lprolog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LambdaProlog (Markus Mottl)<br>
ia64&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Intel Itanium (parth malwankar)<br>
kix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Kixtart (Nigel Gibbs)<br>
mgp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MaGic Point (Gerfried Fuchs)<br>
mason&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mason (HTML with Perl) (Andrew Smith)<br>
mma&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mathematica (Wolfgang Waltenberger)<br>
nqc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Not Quite C (Stefan Scherer)<br>
omnimark&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Omnimark (Paul Terray)<br>
openroad&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenROAD (Luis Moreno Serrano)<br>
named&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BIND configuration (glory hump)<br>
papp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PApp (Marc Lehmann)<br>
pfmain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Postfix main config (Peter Kelemen)<br>
pic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PIC assembly (Aleksandar Veselinovic)<br>
ppwiz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PPWizard (Stefan Schwarzer)<br>
progress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Progress (Phil Uren)<br>
psf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Product Specification File (Rex Barzee)<br>
r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R (Tom Payne)<br>
registry&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MS-Windows registry (Dominique Stephan)<br>
robots&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Robots.txt (Dominique Stephan)<br>
rtf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Rich Text Format (Dominique Stephan)<br>
setl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SETL (Alex Poylisher)<br>
sgmldecl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SGML Declarations (Daniel A. Molina W.)<br>
sinda&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sinda input (Adrian Nagle)<br>
sindacmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sinda compare (Adrian Nagle)<br>
sindaout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sinda output (Adrian Nagle)<br>
smith&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SMITH (Rafal Sulejman)<br>
snobol4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Snobol 4 (Rafal Sulejman)<br>
strace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Strace (David Necas)<br>
tak&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TAK input (Adrian Nagle)<br>
takcmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TAK compare (Adrian Nagle)<br>
takout&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TAK output (Adrian Nagle)<br>
tasm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Turbo assembly (FooLman)<br>
texmf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TeX configuration (David Necas)<br>
trasys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Trasys input (Adrian Nagle)<br>
tssgm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TSS Geometry (Adrian Nagle)<br>
tssop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TSS Optics (Adrian Nagle)<br>
tsscl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TSS Command line (Adrian Nagle)<br>
virata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Virata Configuration Script (Manuel M.H. Stol)<br>
vsejcl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VSE JCL (David Ondrejko)<br>
wdiff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Wordwise diff (Gerfried Fuchs)<br>
wsh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows Scripting Host (Paul Moore)<br>
xkb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X Keyboard Extension (David Necas)<br>
<br>
Renamed php3 to php, it now also supports php4 (Lutz Eymers)<br>
<br>
Patch 5.7.015<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Syntax files for Vim 6.0 can't be used with 5.x.<br>
Solution:&nbsp;&nbsp; Add the &quot;default&quot; argument to the &quot;:highlight&quot; command: Ignore the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command if highlighting was already specified.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/syntax.c<br>
<br>
Generate the Syntax menu with makemenu.vim, so that it doesn't have to be done<br>
when Vim is starting up.&nbsp;&nbsp;Reduces the startup time of the GUI.<br>
<br>
<br>
Fixed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="version5.html#fixed-5.8" name="fixed-5.8">fixed-5.8</a><br>
<span class="PreProc">-----</span><br>
<br>
Conversion of docs to HTML didn't convert &quot;<a class="Identifier" href="tagsrch.html#tag">tag</a>s&quot; to a hyperlink.<br>
<br>
Fixed compiling under NeXT. (Jeroen C.M. Goudswaard)<br>
<br>
optwin.vim gave an error when used in Vi compatible mode (<a class="Type" href="options.html#'cpo'">'cpo'</a>&nbsp;contains 'C').<br>
<br>
Tcl interpreter: &quot;buffer&quot; command didn't check for presence of an argument.<br>
(Dave Bodenstab)<br>
<br>
dosinst.c: Added checks for too long file name.<br>
<br>
Amiga: a file name starting with a colon was considered absolute but it isn't.<br>
Amiga: &quot;:pwd&quot; added a slash when in the root of a drive.<br>
<br>
Macintosh: Warnings for unused variables. (Bernhard Pruemmer)<br>
<br>
Unix: When catching a deadly signal, handle it in such a way that it's<br>
unlikely that Vim will hang.&nbsp;&nbsp;Call _exit() instead of exit() in case of a<br>
severe problem.<br>
<br>
Setting the window title from nothing to something didn't work after patch 29.<br>
<br>
Check for ownership of .exrc and .vimrc was done with stat().&nbsp;&nbsp;Use lstat() as<br>
well for extra security.<br>
<br>
Win32 GUI: Printing a file with&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;&quot;unix&quot; didn't work.&nbsp;&nbsp;Set<br>
<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;to &quot;dos&quot; before writing the temp file.<br>
<br>
Unix: Could start waiting for a character when checking for a&nbsp;<span class="Special">CTRL-C</span>&nbsp;typed<br>
when an X event is received.<br>
<br>
Could not use Perl and Python at the same time on FreeBSD, because Perl used<br>
&quot;-lc&quot; and Python used the threaded C library.<br>
<br>
Win32: The Mingw compiler gave a few warning messages.<br>
<br>
When using &quot;ZZ&quot; and an autocommand for writing uses an abbreviation it didn't<br>
work.&nbsp;&nbsp;Don't stuff the &quot;:x&quot; command but execute it directly. (Mikael Berthe)<br>
<br>
VMS doesn't always have lstat(), added an #ifdef around it.<br>
<br>
Added a few corrections for the Macintosh. (Axel Kielhorn)<br>
<br>
Win32: Gvimext could not edit more than a few files at once, the length of the<br>
argument was fixed.<br>
<br>
<br>
Previously released patches for Vim 5.7:<br>
<br>
Patch 5.7.001<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When the current buffer is crypted, and another modified buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isn't, &quot;:wall&quot; will encrypt the other buffer.<br>
Solution:&nbsp;&nbsp; In buf_write() use &quot;buf&quot; instead of &quot;curbuf&quot; to check for the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crypt key.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.7.002<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<a class="Type" href="options.html#'showmode'">'showmode'</a>&nbsp;is set, using &quot;<span class="Special">CTRL-O</span>&nbsp;:r file&quot; waits three seconds<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;before displaying the read text. (Wichert Akkerman)<br>
Solution:&nbsp;&nbsp; Set &quot;keep_msg&quot; to the file message so that the screen is redrawn<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;before the three seconds wait for displaying the mode message.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.7.003<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Searching for &quot;[[:cntrl:]]&quot; doesn't work.<br>
Solution:&nbsp;&nbsp; Exclude NUL from the matching characters, it terminates the list.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/regexp.c<br>
<br>
Patch 5.7.004<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GTK: When selecting a new font, Vim can crash.<br>
Solution:&nbsp;&nbsp; In gui_mch_init_font() unreference the old font, not the new one.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c<br>
<br>
Patch 5.7.005<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multibyte: Inserting a wrapped line corrupts kterm screen.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pasting TEXT/COMPOUND_TEXT into Vim does not work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On Motif no XIM status line is displayed even though it is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;available.<br>
Solution:&nbsp;&nbsp; Don't use xterm trick for wrapping lines for multibyte mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Correct a missing &quot;break&quot;, added TEXT/COMPOUND_TEXT selection<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add XIMStatusArea fallback code.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Katsuhito Nagano)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_gtk_x11.c, src/multbyte.c, src/screen.c, src/ui.c<br>
<br>
Patch 5.7.006<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;GUI: redrawing the non-Visual selection is wrong when the window<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is unobscured. (Jean-Pierre Etienne)<br>
Solution:&nbsp;&nbsp; Redraw the selection properly and don't clear it.&nbsp;&nbsp;Added &quot;len&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument to clip_may_redraw_selection().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui.c, src/ui.c, src/proto/ui.pro<br>
<br>
Patch 5.7.007<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Python: Crash when using the current buffer twice.<br>
Solution:&nbsp;&nbsp; Increase the reference count for buffer and window objects.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Johannes Zellner)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/if_python.c<br>
<br>
Patch 5.7.008<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;In Ex mode, backspacing over the first TAB doesn't work properly.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Wichert Akkerman)<br>
Solution:&nbsp;&nbsp; Switch the cursor on before printing the newline.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_getln.c<br>
<br>
Patch 5.7.009 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Mac: Crash when using a long file.<br>
Solution:&nbsp;&nbsp; Don't redefine malloc() and free(), because it will break using<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;realloc().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_mac.h<br>
<br>
Patch 5.7.010<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using&nbsp;<span class="Special">CTRL-A</span>&nbsp;on a very long number Vim can crash.&nbsp;&nbsp;(Michael<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Naumann)<br>
Solution:&nbsp;&nbsp; Truncate the length of the new number to avoid a buffer overflow.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.7.011 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Win32 GUI on NT 5 and Win98: Displaying Hebrew is reversed.<br>
Solution:&nbsp;&nbsp; Output each character separately, to avoid that Windows reverses<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the text for some fonts. (Ron Aaron)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/gui_w32.c<br>
<br>
Patch 5.7.012<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using &quot;-complete=buffer&quot; for &quot;:command&quot; the user command<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fails.<br>
Solution:&nbsp;&nbsp; In a user command don't replace the buffer name with a count for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;buffer number.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
Patch 5.7.013<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;&quot;gD&quot; didn't always find a match in the first line, depending on<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the column the search started at.<br>
Solution:&nbsp;&nbsp; Reset the column to zero before starting to search.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.7.014<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Rot13 encoding was done on characters with accents, which is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wrong. (Sven Gottwald)<br>
Solution:&nbsp;&nbsp; Only do rot13 encoding on ASCII characters.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ops.c<br>
<br>
Patch 5.7.016<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When hitting 'n' for a &quot;:s///c&quot; command, the ignore-case flag was<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not restored, some matches were skipped. (Daniel Blaustein)<br>
Solution:&nbsp;&nbsp; Restore the reg_ic variable when 'n' was hit.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.7.017<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When using a Vim script for Vim 6.0 with&nbsp;<span class="Special">&lt;SID&gt;</span>&nbsp;before a function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name, it produces an error message even when inside an &quot;if version<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;= 600&quot;.&nbsp;&nbsp;(Charles Campbell)<br>
Solution:&nbsp;&nbsp; Ignore errors in the function name when the function is not going<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to be defined.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/eval.c<br>
<br>
Patch 5.7.018<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;When running &quot;rvim&quot; or &quot;vim -Z&quot; it was still possible to execute a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shell command with system() and backtick-expansion. (Antonios A.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Kavarnos)<br>
Solution:&nbsp;&nbsp; Disallow executing a shell command in get_cmd_output() and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mch_expand_wildcards().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/misc1.c, src/os_unix.c<br>
<br>
Patch 5.7.019<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Multibyte: In a substitute string, a multi-byte character isn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skipped properly, can be a problem when the second byte is a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backslash.<br>
Solution:&nbsp;&nbsp; Skip an extra byte for a double-byte character. (Muraoka Taro)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.c<br>
<br>
Patch 5.7.020<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Compilation doesn't work on MacOS-X.<br>
Solution:&nbsp;&nbsp; Add a couple of #ifdefs. (Jamie Curmi)<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/regexp.c, src/ctags/general.h<br>
<br>
Patch 5.7.021<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Vim sometimes produces a beep when started in an xterm.&nbsp;&nbsp;Only<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;happens when compiled without mouse support.<br>
Solution:&nbsp;&nbsp; Requesting the xterm version results in a K_IGNORE.&nbsp;&nbsp;This wasn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handled when mouse support is disabled.&nbsp;&nbsp;Accept K_IGNORE always.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/normal.c<br>
<br>
Patch 5.7.022<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;%v in&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;is not displayed when it's equal to %c.<br>
Solution:&nbsp;&nbsp; Check if %V or %v is used and handle them differently.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c<br>
<br>
Patch 5.7.023<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Crash when a WinLeave autocommand deletes the buffer in the other<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.<br>
Solution:&nbsp;&nbsp; Check that after executing the WinLeave autocommands there still<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is a window to be closed.&nbsp;&nbsp;Also update the test that was supposed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to check for this problem.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/window.c, testdir/test13.in, testdir/test13.ok<br>
<br>
Patch 5.7.024<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Evaluating an expression for&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;can have side effects.<br>
Solution:&nbsp;&nbsp; Evaluate the expression in a sandbox.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/edit.c, src/eval.c, src/proto/eval.pro, src/ex_cmds.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_cmds.h, src/ex_docmd.c, src/globals.h, src/option.c,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/screen.c, src/undo.c<br>
<br>
Patch 5.7.025 (fixed)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Creating a temp file has a race condition.<br>
Solution:&nbsp;&nbsp; Create a private directory to write the temp files in.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c, src/misc1.c, src/proto/misc1.pro,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/proto/fileio.pro, src/memline.c, src/os_unix.h<br>
<br>
Patch 5.7.026 (extra)<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Creating a temp file has a race condition.<br>
Solution:&nbsp;&nbsp; Create a private directory to write the temp files in.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the extra part of patch 5.7.025.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/os_msdos.h<br>
<br>
Patch 5.7.027<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Starting to edit a file can cause a crash.&nbsp;&nbsp;For example when in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert mode, using&nbsp;<span class="Special">CTRL-O</span>&nbsp;:help abbr<span class="Special">&lt;Tab&gt;</span>&nbsp;to scroll the screen and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;<span class="Special">&lt;CR&gt;</span>, which edits a help file. (Robert Bogomip)<br>
Solution:&nbsp;&nbsp; Check if keep_msg is NULL before copying it.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c<br>
<br>
Patch 5.7.028<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Creating a backup or swap file could fail in rare situations.<br>
Solution:&nbsp;&nbsp; Use O_EXCL for open().<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/fileio.c, src/memfile.c<br>
<br>
Patch 5.7.029<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;Editing a file with an extremely long name crashed Vim.<br>
Solution:&nbsp;&nbsp; Check for length of the name when setting the window title.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/buffer.c<br>
<br>
Patch 5.7.030<br>
Problem:&nbsp;&nbsp;&nbsp;&nbsp;A &quot;:make&quot; or &quot;:grep&quot; command with a very long argument could cause<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a crash.<br>
Solution:&nbsp;&nbsp; Allocate the buffer for the shell command.<br>
Files:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;src/ex_docmd.c<br>
<br>
<br>
&nbsp;vim:tw=78:ts=8:ft=help:norl:<br>
</div>

</article>

<footer>
<a href="#top">Return to the top</a> - <a href="index.html">Return to main</a>
<span class="EnglishJapaneseLink">
  <span class="CurrentLanguage">English</span>
</span>
<br />
<div style="text-align:right;">
Hosted by <a href="https://github.com/vim-jp/vimdoc-en">vimdoc-en project</a><br />
If you met any problem, please report it to <a href="https://github.com/vim-jp/vimdoc-en/issues">issue</a>.<br />
</div>
</footer>

<!--<script src="js/check-referrer.js" type="text/javascript"></script>-->

</body>
</html>
<!-- vim:set ts=8 sts=2 sw=2 tw=0 et: -->
